CVE-2023-53328: fs/ntfs3: Enhance sanity check while generating attr_list
In the Linux kernel, the following vulnerability has been resolved:
fs/ntfs3: Enhance sanity check while generating attrlist
nicreateattrlist uses WARNON to catch error cases while generating attribute list, which only prints out stack trace and may not be enough. This repalces them with more proper error handling flow.
[ 59.666332] BUG: kernel NULL pointer dereference, address: 000000000000000e [ 59.673268] #PF: supervisor read access in kernel mode [ 59.678354] #PF: errorcode(0x0000) - not-present page [ 59.682831] PGD 8000000005ff1067 P4D 8000000005ff1067 PUD 7dee067 PMD 0 [ 59.688556] Oops: 0000 [#1] PREEMPT SMP KASAN PTI [ 59.692642] CPU: 0 PID: 198 Comm: poc Tainted: G B W 6.2.0-rc1+ #4 [ 59.698868] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 [ 59.708795] RIP: 0010:nicreateattrlist+0x505/0x860 [ 59.713657] Code: 7e 10 e8 5e d0 d0 ff 45 0f b7 76 10 48 8d 7b 16 e8 00 d1 d0 ff 66 44 89 73 16 4d 8d 75 0e 4c 89 f7 e8 3f d0 d0 ff 4c 8d8 [ 59.731559] RSP: 0018:ffff88800a56f1e0 EFLAGS: 00010282 [ 59.735691] RAX: 0000000000000001 RBX: ffff88800b7b5088 RCX: ffffffffb83079fe [ 59.741792] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffffffffbb7f9fc0 [ 59.748423] RBP: ffff88800a56f3a8 R08: ffff88800b7b50a0 R09: fffffbfff76ff3f9 [ 59.754654] R10: ffffffffbb7f9fc7 R11: fffffbfff76ff3f8 R12: ffff88800b756180 [ 59.761552] R13: 0000000000000000 R14: 000000000000000e R15: 0000000000000050 [ 59.768323] FS: 00007feaa8c96440(0000) GS:ffff88806d400000(0000) knlGS:0000000000000000 [ 59.776027] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 59.781395] CR2: 00007f3a2e0b1000 CR3: 000000000a5bc000 CR4: 00000000000006f0 [ 59.787607] Call Trace: [ 59.790271] <TASK> [ 59.792488] ? pfxnicreateattrlist+0x10/0x10 [ 59.797235] ? kerneltextaddress+0xd3/0xe0 [ 59.800856] ? unwindgetreturnaddress+0x3e/0x60 [ 59.805101] ? kasancheckwrite+0x18/0x20 [ 59.809296] ? preemptcountsub+0x1c/0xd0 [ 59.813421] niinsattrext+0x52c/0x5c0 [ 59.817034] ? pfxniinsattrext+0x10/0x10 [ 59.821926] ? vfssetxattr+0x121/0x170 [ 59.825718] ? vfssetxattrnoperm+0x97/0x300 [ 59.829562] ? vfssetxattrlocked+0x145/0x170 [ 59.833987] ? vfssetxattr+0x137/0x2a0 [ 59.836732] ? dosetxattr+0xce/0x150 [ 59.839807] ? setxattr+0x126/0x140 [ 59.842353] ? pathsetxattr+0x164/0x180 [ 59.845275] ? x64syssetxattr+0x71/0x90 [ 59.848838] ? dosyscall64+0x3f/0x90 [ 59.851898] ? entrySYSCALL64afterhwframe+0x72/0xdc [ 59.857046] ? stackdepotsave+0x17/0x20 [ 59.860299] niinsertattr+0x1ba/0x420 [ 59.863104] ? pfxniinsertattr+0x10/0x10 [ 59.867069] ? preemptcountsub+0x1c/0xd0 [ 59.869897] ? rawspinunlockirqrestore+0x2b/0x50 [ 59.874088] ? createobject+0x3ae/0x5d0 [ 59.877865] niinsertresident+0xc4/0x1c0 [ 59.881430] ? pfxniinsertresident+0x10/0x10 [ 59.886355] ? kasansaveallocinfo+0x1f/0x30 [ 59.891117] ? kasankmalloc+0x8b/0xa0 [ 59.894383] ntfssetea+0x90d/0xbf0 [ 59.897703] ? pfxntfssetea+0x10/0x10 [ 59.901011] ? kerneltextaddress+0xd3/0xe0 [ 59.905308] ? kerneltextaddress+0x16/0x50 [ 59.909811] ? unwindgetreturnaddress+0x3e/0x60 [ 59.914898] ? pfxstacktraceconsumeentry+0x10/0x10 [ 59.920250] ? archstackwalk+0xa2/0x100 [ 59.924560] ? filterirqstacks+0x27/0x80 [ 59.928722] ntfssetxattr+0x405/0x440 [ 59.932512] ? pfxntfssetxattr+0x10/0x10 [ 59.936634] ? kvmallocnode+0x2d/0x120 [ 59.940378] ? kasansavestack+0x41/0x60 [ 59.943870] ? kasansavestack+0x2a/0x60 [ 59.947719] ? kasansettrack+0x29/0x40 [ 59.951417] ? kasansaveallocinfo+0x1f/0x30 [ 59.955733] ? kasankmalloc+0x8b/0xa0 [ 59.959598] ? kmallocnode+0x68/0x150 [ 59.963163] ? kvmallocnode+0x2d/0x120 [ 59.966490] ? vmemdupuser+0x2b/0xa0 ---truncated---
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2023-53328?
CVE-2023-53328 is classified as a moderate severity vulnerability in the Linux kernel.
How do I fix CVE-2023-53328?
To fix CVE-2023-53328, update your Linux kernel to the latest stable version that addresses this vulnerability.
What type of vulnerability is CVE-2023-53328?
CVE-2023-53328 is a vulnerability related to attribute list generation in the ntfs3 file system within the Linux kernel.
What effects does CVE-2023-53328 have on systems?
CVE-2023-53328 may lead to insufficient error handling when generating attribute lists, potentially affecting system stability.
Is CVE-2023-53328 exploitable remotely?
CVE-2023-53328 is not known to be remotely exploitable; it primarily affects the local handling of NTFS file systems.