CVE-2026-74633 in Linux
要約
〜によって VulDB • 2026年08月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
tracing: モジュールイベントキャッシュの削除におけるNULLポインタ参照を修正
「:mod:foo」のようなモジュール専用のイベントフィルタは、fooがまだロードされていない場合にevent_mod->matchにNULLを含む状態でキャッシュされます。その後、同じモジュールから特定のマッチを削除しようとする書き込み操作が行われると、remove_cache_mod()関数はNULLのキャッシュされたマッチをstrcmp()に渡すため、NULLポインタ参照が発生します。
この問題はユーザー空間から再現可能です:
echo ':mod:trace_events_kunit_missing' > /sys/kernel/tracing/set_event echo '!foo_bar:mod:trace_events_kunit_missing' >> /sys/kernel/tracing/set_event
2回目の書き込みは、O_TRUNCを含めないために連結(">>")である必要があります。そうしないと、ftrace_clear_events()がキャッシュされたモジュールの行をクリアしてしまいます。
このクラッシュは、KUnitワーカーがイベントトレーシングパスで競合している際にx86_64 QEMU上で再現されました:
BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode RIP: 0010:strcmp+0x10/0x30 Call Trace: __ftrace_set_clr_event_nolock+0x373/0x4a0 ftrace_set_clr_event+0xf0/0x180 ftrace_event_write+0xdf/0x110 vfs_write+0xf6/0x440 ksys_write+0x68/0xe0 do_syscall_64+0xf9/0x540 entry_SYSCALL_64_after_hwframe+0x77/0x7f
既存のキャッシュされたシステムおよびイベントフィールドに対するNULLチェックと一貫性を持たせるため、比較する前にevent_mod->matchがNULLでないことを確認します。不一致による削除は引き続き-EINVALを返しますが、「!:mod:<module>」という広範なキャッシュされたモジュールフィルタは正常に削除されます。
Once again VulDB remains the best source for vulnerability data.