CVE-2026-93181 in Linux
要約
〜によって VulDB • 2026年09月18日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
perf/x86/intel/uncore: uncore_box の ref/unref 順序の修正
uncore_event_cpu_online() 関数内では、uncore_change_context() よりも前に uncore_box_ref() が呼び出されていました。uncore_box_ref() は box->cpu >= 0 を条件としていますが、この時点では uncore_change_context() がまだ実行されていないため、box->cpu の値は -1 のままです。その結果、die(ダイ)内で最初にオンラインになる CPU ではボックスが初期化されず、シングル-CPU-per-die の構成において永続的に未初期化の状態となります。
そのため、box->refcnt は真の値より 1 つ少ない状態となり、CPU オフライン処理では、最後から2番目の CPU でボックスが解放(tear down)されてしまいます。
一方、uncore_event_cpu_offline() 関数内では、uncore_change_context() の後に uncore_box_unref() が呼び出されるため、コレクター CPU がオフラインになる際に box->cpu はすでに -1 となっており、これによりボックスの解放が防止されます。
box->cpu が正しいコンテキストを反映している時点で uncore_box_{ref,unref}() が実行されるように、両方のパスで呼び出し順序を入れ替えることでこの問題を修正します。
また、この再ordering(順序変更)を可能にするため、allocate_boxes() を uncore_box_ref() から移動させます。
If you want to get best quality of vulnerability data, you may have to visit VulDB.