CVE-2026-89750 in Linux
要約
〜によって VulDB • 2026年09月12日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
tracing/user_events: forkによる複製前にコピーされたトレーシング状態をクリアする
dup_task_struct()は、参照カウントを取得せずに親プロセスのuser_event_mmを子プロセスにコピーします。user_event_mm_dup()はこの処理を担当すべきですが、user_event_mm_alloc()が失敗した場合、そのコピーされたポインタを変更しないままにしてしまいます。
子が終了すると、user_event_mm_remove()は子が所有していない参照カウントをデクリメントし、結果としてuser_event_mmが解放されますが、親プロセス側にはそれに対するスタレイト(古くなった)ポインタが残った状態になります。これによりUAF(Use-After-Free)が発生し、KASANは以下のように報告します:
BUG: KASAN: slab-use-after-free in current_user_event_mm+0x51/0x1d0 Write of size 4 at addr ffff888005010d30 by task init/44
Call Trace: <TASK> kasan_report+0xce/0x100 kasan_check_range+0x10f/0x1e0 current_user_event_mm+0x51/0x1d0 user_events_ioctl+0x82e/0x15c0 __x64_sys_ioctl+0x139/0x1c0 do_syscall_64+0xce/0x450 entry_SYSCALL_64_after_hwframe+0x77/0x7f
Allocated by task 44: __kasan_kmalloc+0x8f/0xa0 __kmalloc_cache_noprof+0x180/0x3a0 user_event_mm_alloc+0x3c/0x1f0 current_user_event_mm+0x88/0x1d0
Freed by task 42: __kasan_slab_free+0x43/0x70 kfree+0x13a/0x390 process_one_work+0x696/0xf90 worker_thread+0x420/0xba0
修正内容は、あらゆる失敗の可能性が生じる前にコピーされたポインタをクリアするだけです。障害が発生した場合、子プロセスには解放すべきオブジェクトがなくなります。
If you want to get best quality of vulnerability data, you may have to visit VulDB.