CVE-2026-99174
Last modified
CVE-2026-99174 is a vulnerability of currently unknown severity. In the Linux kernel, the following vulnerability has been resolved: ext4: free the sbi after a grace period ext4_get_link() follows a symlink that keeps its target in a data block in rcu pathwalk mode with ext4_getblk(EXT4_GET_BLOCKS_CACHED_NOWAIT). That reads s_mount_state in the ASSERT() of ext4_getblk() and again in ext4_es_lookup_extent(), and the lookup bumps the extent status hit or miss counter, all through sb->s_fs_info. ext4_put_super() destroys those counters, clears sb->s_fs_info and frees the sbi without waiting for a grace period. A pathwalk that is still in ext4_get_link() when the last reference to the mount goes away then dereferences a NULL s_fs_info, the freed sbi or the destroyed percpu counters. With a pathwalk held up in ext4_get_link() while the last reference goes away: KASAN: null-ptr-deref in range [0x00000000000000a8-0x00000000000000af] RIP: 0010:ext4_getblk+0xf0/0x640 Call Trace: <TASK> ext4_get_link+0x26c/0x410 pick_link+0xf96/0x1780 step_into_slowpath+0x9b8/0x1250 path_lookupat+0x484/0xb00 filename_lookup+0x1f1/0x5b0 vfs_statx+0xd7/0x3b0 vfs_fstatat+0x4d/0x90 __do_sys_newfstatat+0xa0/0x100 do_syscall_64+0x10e/0x5e0 entry_SYSCALL_64_after_hwframe+0x77/0x7f So far that has been hard to hit. EPSS estimates a 0.17% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: ext4: free the sbi after a grace period ext4_get_link() follows a symlink that keeps its target in a data block in rcu pathwalk mode with ext4_getblk(EXT4_GET_BLOCKS_CACHED_NOWAIT). That reads s_mount_state in the ASSERT() of ext4_getblk() and again in ext4_es_lookup_extent(), and the lookup bumps the extent status hit or miss counter, all through sb->s_fs_info. ext4_put_super() destroys those counters, clears sb->s_fs_info and frees the sbi without waiting for a grace period. A pathwalk that is still in ext4_get_link() when the last reference to the mount goes away then dereferences a NULL s_fs_info, the freed sbi or the destroyed percpu counters. With a pathwalk held up in ext4_get_link() while the last reference goes away: KASAN: null-ptr-deref in range [0x00000000000000a8-0x00000000000000af] RIP: 0010:ext4_getblk+0xf0/0x640 Call Trace: <TASK> ext4_get_link+0x26c/0x410 pick_link+0xf96/0x1780 step_into_slowpath+0x9b8/0x1250 path_lookupat+0x484/0xb00 filename_lookup+0x1f1/0x5b0 vfs_statx+0xd7/0x3b0 vfs_fstatat+0x4d/0x90 __do_sys_newfstatat+0xa0/0x100 do_syscall_64+0x10e/0x5e0 entry_SYSCALL_64_after_hwframe+0x77/0x7f So far that has been hard to hit. umount(2) waits for a grace period in namespace_unlock() before it drops the mount, so only a mount whose last reference goes away elsewhere, like the close of a file or a chdir out of a lazily unmounted directory, can race a walker. Keep sb->s_fs_info and free the sbi together with the extent status counters after a grace period. Split the counters out of ext4_es_unregister_shrinker() for that. The shrinker still gets wasted in ext4_put_super(), the counters go with the sbi.
Metrics
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 6493792d3299b3e33f887ef8a150099d271faf9c, < cf3bd5824c985b350d150bcd76698ee5e993fcba; >= 6493792d3299b3e33f887ef8a150099d271faf9c, < b4b0598fad51a978fcbda9d55eef6b5bd3cbe7d8; >= 6493792d3299b3e33f887ef8a150099d271faf9c, < 4ce0e27ea610663a9cdc04e3bca38559147428d4; >= 6493792d3299b3e33f887ef8a150099d271faf9c, < 80d5db1686b05fad6f384be017714297d828a714; >= 6493792d3299b3e33f887ef8a150099d271faf9c, < 87d29b8b849738d52fe820d495fa0aa2d5a1ec82; >= 6493792d3299b3e33f887ef8a150099d271faf9c, < c17b44266a1f9fcb49b894d4611d1254bf1aa313 |
| Linux | Linux | 5.19 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-99174?
How severe is CVE-2026-99174?
How do I fix CVE-2026-99174?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-99169In the Linux kernel, the following vulnerability has been re…
- CVE-2026-9917Uninitialized Use in WebGL in Google Chrome on Android prior…6.5
- CVE-2026-99170In the Linux kernel, the following vulnerability has been re…8.8
- CVE-2026-99171In the Linux kernel, the following vulnerability has been re…
- CVE-2026-99172In the Linux kernel, the following vulnerability has been re…
- CVE-2026-99173In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-99175In the Linux kernel, the following vulnerability has been re…
- CVE-2026-99176In the Linux kernel, the following vulnerability has been re…
- CVE-2026-99177In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-99178In the Linux kernel, the following vulnerability has been re…
- CVE-2026-99179In the Linux kernel, the following vulnerability has been re…
- CVE-2026-9918Inappropriate implementation in Tint in Google Chrome prior …9.6
Are you affected by CVE-2026-99174?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
