製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Title LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。ext4に関しては、umountと競合する際のupdate_super_work内のuse-after-freeを修正しました。コミット b98535d09179("ext4: fix bug_on in start_this_handle during umount filesystem")では、アンマウント中に/proc/fs/ext4/xx/mb_groupsの読み取りで新しいエラー作業がキューに追加されるのを防ぐために、ext4_unregister_sysfs()をs_sb_upd_workのフラッシュより前に移動しました。しかし、これによりupdate_super_workがext4_notify_error_sysfs() - sysfs_notify()を呼び出し、kobject_del()によって解放された後のkobjectのkernfs_nodeにアクセスしてしまうuse-after-freeが発生しました。本修正では、解体順序を変更する代わりに、ext4_notify_error_sysfs()がs_kobj.state_in_sysfsをチェックしてsysfsが既に解体済みであることを検出し、その場合はsysfs_notify()の呼び出しをスキップするようにしました。専用のmutex(s_error_notify_mutex)がext4_notify_error_sysfs()とext4_unregister_sysfs()内のkobject_del()間のTOCTOU競合を防止しています。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date April 22, 2026, midnight
Registration Date May 11, 2026, 11:01 a.m.
Last Update May 11, 2026, 11:01 a.m.
CVSS3.0 : 重要
Score 7.8
Vector CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Affected System
Linux
Linux Kernel 5.10.114 以上 5.11 未満
Linux Kernel 5.15.38 以上 5.15.203 未満
Linux Kernel 5.17.6 以上 5.18 未満
Linux Kernel 5.18
Linux Kernel 5.18.1 以上 6.1.168 未満
Linux Kernel 6.13 以上 6.18.21 未満
Linux Kernel 6.19 以上 6.19.11 未満
Linux Kernel 6.2 以上 6.6.131 未満
Linux Kernel 6.7 以上 6.12.80 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月11日]
  掲載
May 11, 2026, 11:01 a.m.

NVD Vulnerability Information
CVE-2026-31446
Summary

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.

Publication Date April 22, 2026, 11:16 p.m.
Registration Date April 25, 2026, 4:05 a.m.
Last Update April 27, 2026, 11:16 p.m.
Related information, measures and tools
Common Vulnerabilities List