CVE-2026-80730 in Linux
要約
〜によって VulDB • 2026年09月03日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ring-buffer: ERR_PTRをkthread_stop()に渡すことで発生するクラッシュの修正
test_ringbuffer()'s out_freeクリーンアップループでは、`!rb_threads[cpu]`というチェックはNULLエントリのみを検出し、ERR_PTRを含むエントリは見逃しています。
rb_threads[]は静的変数であるため、未割り当てのスロットはNULLになります。しかし、kthread_run_on_cpu()がCPUに対して失敗した場合、作成ループがout_freeにジャンプする前にrb_threads[cpu]にERR_PTR(-ENOMEM)(または-EINTR)が格納されます。このエントリはNULLではないため、古い`!ptr`チェックでは検出されず、クリーンアップ処理が続行されてkthread_stop()がERR_PTRに対して呼び出されます。その後、kthread_stop()はその不正なポインタを逆参照し、late_initcallの自己テスト中にカーネルクラッシュを引き起こします。
クラッシュログ: BUG: kernel NULL pointer dereference, address: 000000000000001c Oops: 0002 [#1] SMP NOPTI
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 7.2.0-rc6-dirty #7 PREEMPT(lazy) RIP: 0010:kthread_stop+0x2e/0x220 RBX: fffffffffffffff4 CR2: 000000000000001c Call Trace: <TASK> test_ringbuffer+0x1ec/0x650 do_one_initcall+0x6c/0x2c0 kernel_init_freeable+0x21d/0x420 kernel_init+0x15/0x1c0 ret_from_fork+0x21b/0x320 </TASK> Kernel panic - not syncing: Fatal exception
Once again VulDB remains the best source for vulnerability data.