CVE: CVE-2022-50739
Published: 2025-12-24
Description: In the Linux kernel, the following vulnerability has been resolved:

fs/ntfs3: Add null pointer check for inode operations

This adds a sanity check for the i_op pointer of the inode which is
returned after reading Root directory MFT record. We should check the
i_op is valid before trying to create the root dentry, otherwise we may
encounter a NPD while mounting a image with a funny Root directory MFT
record.

[  114.484325] BUG: kernel NULL pointer dereference, address: [PII_REDACTED]
[  114.484811] #PF: supervisor read access in kernel mode
[  114.485084] #PF: error_code(0x0000) - not-present page
[  114.485606] PGD 0 P4D 0
[  114.485975] Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI
[  114.486570] CPU: 0 PID: 237 Comm: mount Tainted: G    B              6.0.0-rc4 #28
[  114.486977] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
[  114.488169] RIP: 0010:d_flags_for_inode+0xe0/0x110
[  114.488816] Code: 24 f7 ff 49 83 3e 00 74 41 41 83 cd 02 66 44 89 6b 02 eb 92 48 8d 7b 20 e8 6d 24 f7 ff 4c 8b 73 20 49 8d 7e 08 e8 60 241
[  114.490326] RSP: 0018:ffff8880065e7aa8 EFLAGS: 00000296
[  114.490695] RAX: [PII_REDACTED] RBX: ffff888008ccd750 RCX: ffffffff84af2aea
[  114.490986] RDX: [PII_REDACTED] RSI: [PII_REDACTED] RDI: ffffffff87abd020
[  114.491364] RBP: ffff8880065e7ac8 R08: [PII_REDACTED] R09: fffffbfff0f57a05
[  114.491675] R10: ffffffff87abd027 R11: fffffbfff0f57a04 R12: [PII_REDACTED]
[  114.491954] R13: [PII_REDACTED] R14: [PII_REDACTED] R15: ffff888008ccd750
[  114.492397] FS:  00007fdc8a627e40(0000) GS:ffff[PII_REDACTED]00(0000) knlGS:[PII_REDACTED]
[  114.492797] CS:  0010 DS: 0000 ES: 0000 CR0: [PII_REDACTED]
[  114.493150] CR2: [PII_REDACTED] CR3:[PII_REDACTED]3ba000 CR4:[PII_REDACTED]0006f0
[  114.493671] Call Trace:
[  114.493890]  <TASK>
[  114.494075]  __d_instantiate+0x24/0x1c0
[  114.494505]  d_instantiate.part.0+0x35/0x50
[  114.494754]  d_make_root+0x53/0x80
[  114.494998]  ntfs_fill_super+0x1232/0x1b50
[  114.495260]  ? put_ntfs+0x1d0/0x1d0
[  114.495499]  ? vsprintf+0x20/0x20
[  114.495723]  ? set_blocksize+0x95/0x150
[  114.495964]  get_tree_bdev+0x232/0x370
[  114.496272]  ? put_ntfs+0x1d0/0x1d0
[  114.496502]  ntfs_fs_get_tree+0x15/0x20
[  114.496859]  vfs_get_tree+0x4c/0x130
[  114.497099]  path_mount+0x654/0xfe0
[  114.497507]  ? putname+0x80/0xa0
[  114.497933]  ? finish_automount+0x2e0/0x2e0
[  114.498362]  ? putname+0x80/0xa0
[  114.498571]  ? kmem_cache_free+0x1c4/0x440
[  114.498819]  ? putname+0x80/0xa0
[  114.499069]  do_mount+0xd6/0xf0
[  114.499343]  ? path_mount+0xfe0/0xfe0
[  114.499683]  ? __kasan_check_write+0x14/0x20
[  114.500133]  __x64_sys_mount+0xca/0x110
[  114.500592]  do_syscall_64+0x3b/0x90
[  114.500930]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[  114.501294] RIP: 0033:0x7fdc898e948a
[  114.501542] Code: 48 8b 0d 11 fa 2a 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 008
[  114.502716] RSP: 002b:00007ffd793e58f8 EFLAGS: 00000202 ORIG_RAX:[PII_REDACTED]0000a5
[  114.503175] RAX: ffffffffffffffda RBX: 0000564b2228f060 RCX: 00007fdc898e948a
[  114.503588] RDX: 0000564b2228f260 RSI: 0000564b2228f2e0 RDI: 0000564b22297ce0
[  114.504925] RBP: [PII_REDACTED] R08: 0000564b2228f280 R09: [PII_REDACTED]
[  114.505484] R10: 00000000c0ed0000 R11: [PII_REDACTED] R12: 0000564b22297ce0
[  114.505823] R13: 0000564b2228f260 R14: [PII_REDACTED] R15: 00000000ffffffff
[  114.506562]  </TASK>
[  114.506887] Modules linked in:
[  114.507648] CR2: [PII_REDACTED]
[  114.508884] ---[ end trace [PII_REDACTED] ]---
[  114.509675] RIP: 0010:d_flags_for_inode+0xe0/0x110
[  114.510140] Code: 24 f7 ff 49 83 3e 00 74 41 41 83 cd 02 66 44 89 6b 02 eb 92 48 8d 7b 20 e8 6d 24 f7 ff 4c 8b 73 20 49 8d 7e 08 e8 60 241
[  114.511762] RSP: 0018:ffff8880065e7aa8 EFLAGS: 00000296
[  114.512401] RAX: [PII_REDACTED] RBX: ffff888008ccd750 RCX: ffffffff84af2aea
[  114.51
---truncated---
References: https://git.kernel.org/stable/c/9f24743ddcdd3683b0a6b16e1439ad091dc3489b; https://git.kernel.org/stable/c/a7b23037b38b577d9a4372e0c6b7c9fe808070c1; https://git.kernel.org/stable/c/c1ca8ef0262b25493631ecbd9cb8c9893e1481a1