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.
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel crash and potential denial of service
Action: Assess Impact
AI Analysis

Impact

The vulnerability arises when the ext4 filesystem frees its superblock information (sbi) and associated counters before a grace period following the last reference to a mount. During an active pathwalk in ext4_get_link, the kernel may dereference a NULL s_fs_info, a freed sbi, or destroyed counters, leading to a KASAN reported null pointer dereference. This results in a kernel panic, effectively creating a denial‑of‑service condition for the affected machine. The flaw is triggered by a race between an ext4 get_link operation and the unmount process.

Affected Systems

All Linux kernel releases that include the ext4 filesystem are potentially affected. The vulnerability was discovered in the kernel source and does not refer to specific vendor distribution versions. Thus any distribution that ships the standard Linux kernel and uses ext4 for its filesystems may be impacted until a patch is released.

Risk and Exploitability

The EPSS score is not available and the issue is not listed in the CISA KEV catalog, indicating low public exploitation intelligence. The description notes that the race is hard to trigger, and no public exploit has been documented. The CVSS score is not reported, but based on the impact of a kernel crash, the severity could be high if a successful exploit is achieved. Attackers would need to orchestrate a timing attack that unmounts while a directory walk is ongoing, which is non‑trivial and likely requires local or privilege escalation.

Generated by OpenCVE AI on October 28, 2026 at 11:57 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to the latest official release that contains a patch for the ext4 race condition.
  • If an immediate patch is unavailable, be cautious during operations that unmount filesystems; avoid unmounting while applications hold open file handles on ext4 mounts.
  • Enable and inspect kernel crash dumps or KASAN logs to detect potential null‑pointer dereferences and investigate associated events promptly.

Generated by OpenCVE AI on October 28, 2026 at 11:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
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.
Title ext4: free the sbi after a grace period
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-28T10:35:28.758Z

Reserved: 2026-09-25T10:25:14.399Z

Link: CVE-2026-99174

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:38.030

Modified: 2026-10-28T11:17:38.030

Link: CVE-2026-99174

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T12:00:22Z

Weaknesses

No weakness.