CVE-2026-31446
Description
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix use-after-free in update_super_work when racing with umount
Commit b98535d09179 ("ext4: fix bug_on in start_this_handle during umount filesystem") moved ext4_unregister_sysfs() before flushing s_sb_upd_work to prevent new error work from being queued via /proc/fs/ext4/xx/mb_groups reads during unmount. However, this introduced a use-after-free because update_super_work calls ext4_notify_error_sysfs() -> sysfs_notify() which accesses the kobject's kernfs_node after it has been freed by kobject_del() in ext4_unregister_sysfs():
update_super_work ext4_put_super ----------------- -------------- ext4_unregister_sysfs(sb) kobject_del(&sbi->s_kobj) __kobject_del() sysfs_remove_dir() kobj->sd = NULL sysfs_put(sd) kernfs_put() // RCU free ext4_notify_error_sysfs(sbi) sysfs_notify(&sbi->s_kobj) kn = kobj->sd // stale pointer kernfs_get(kn) // UAF on freed kernfs_node ext4_journal_destroy() flush_work(&sbi->s_sb_upd_work)
Instead of reordering the teardown sequence, fix this by making ext4_notify_error_sysfs() detect that sysfs has already been torn down by checking s_kobj.state_in_sysfs, and skipping the sysfs_notify() call in that case. A dedicated mutex (s_error_notify_mutex) serializes ext4_notify_error_sysfs() against kobject_del() in ext4_unregister_sysfs() to prevent TOCTOU races where the kobject could be deleted between the state_in_sysfs check and the sysfs_notify() call.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
78cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 11 more
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: >=5.10.114,<5.11
- cpe:2.3:o:linux:linux_kernel:5.18:-:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:5.18:rc4:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:5.18:rc5:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:5.18:rc6:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:5.18:rc7:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:5.18:rc9:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
- osv-coords66 versionspkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-livepatch-SLE15-SP7-RT_Update_16&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-livepatch-SLE15-SP7_Update_16&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0
< 6.12.0-160000.35.1+ 65 more
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1.160000.2.16
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.53.60.1.150700.17.35.4
- (no CPE)range: < 6.12.0-160000.35.1.160000.2.16
- (no CPE)range: < 6.12.0-160000.35.1.160000.2.16
- (no CPE)range: < 6.4.0-47.1.21.24
- (no CPE)range: < 6.4.0-47.1.21.24
- (no CPE)range: < 6.12.0-160000.35.1.160000.2.16
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.4.0-47.1
- (no CPE)range: < 6.4.0-47.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-47.1
- (no CPE)range: < 6.4.0-47.1
- (no CPE)range: < 1-150700.1.5.2
- (no CPE)range: < 1-150700.15.3.2
- (no CPE)range: < 6.4.0-150700.53.60.2
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.7.59.2
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-47.1
- (no CPE)range: < 6.4.0-47.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.7.59.2
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.4.0-150700.7.59.1
- (no CPE)range: < 6.4.0-150700.53.60.1
- (no CPE)range: < 6.12.0-160000.35.1
- (no CPE)range: < 6.12.0-160000.35.1
Patches
Vulnerability mechanics
References
7- git.kernel.org/stable/c/034053378dd81837fd6c7a43b37ee2e58d4f0b4envdPatch
- git.kernel.org/stable/c/08b10e6f37fc533a759e9833af0692242e8b3f93nvdPatch
- git.kernel.org/stable/c/9449f99ba04f5dd1c8423ad8a90b3651d7240d1dnvdPatch
- git.kernel.org/stable/c/c4d829737329f2290dd41e290b7d75effdb2a7ffnvdPatch
- git.kernel.org/stable/c/c8fe17a1b308c3d8c703ebfb049b325f844342c3nvdPatch
- git.kernel.org/stable/c/c97e282f7bfd0c3554c63d289964a5ca6a1d2ffenvdPatch
- git.kernel.org/stable/c/d15e4b0a418537aafa56b2cb80d44add83e83697nvdPatch
News mentions
0No linked articles in our index yet.