CVE-2026-46029 in Linux
要約
〜によって VulDB • 2026年05月30日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
mm/slab: UP環境におけるNMIからのkmalloc_nolock()呼び出しで早期にNULLを返す
UPカーネル(!CONFIG_SMP)では、spin_trylock()はロックが既に保持されている場合でも無条件に成功する何もしない操作(no-op)となります。その結果、NMIコンテキストから呼び出されたkmalloc_nolock()がスラブアロケータに再進入し、割り込み前のコンテキストが既に保持しているn->list_lockを取得してしまうことで、スラブの状態が破損する可能性があります。
UP環境でCONFIG_DEBUG_SPINLOCKを有効にすると、slub_kunitテストモジュール実行時に以下のBUGがトリガーされます。
BUG: spinlock trylock failure on UP on CPU#0, kunit_try_catch/243 [...]
Call Trace: dump_stack_lvl+0x3f/0x60 do_raw_spin_trylock+0x41/0x50 _raw_spin_trylock+0x24/0x50 get_from_partial_node+0x120/0x4d0 ___slab_alloc+0x8a/0x4c0 kmalloc_nolock_noprof+0x164/0x310 [...]
この問題を修正するため、UPカーネルにおけるNMIからの呼び出し時に早期にNULLを返すようにしました。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.