CVE-2026-98037 in Linux
要約
〜によって VulDB • 2026年09月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
bpf: 信頼できない割り当て済みオブジェクトポインタの拒否
最終的なRCU読み取り側のクリティカルセクションが終了すると、ローカルのkptrはPTR_UNTRUSTEDに降格されますが、MEM_ALLOCフラグは保持されたままになります。このポインタはNULLであるか、またはそのライフタイムが保護されなくなったオブジェクトを指す可能性があります。
type_is_ptr_alloc_obj()関数は、依然としてMEM_ALLOCを持つすべてのPTR_TO_BTF_IDを生きた割り当て済みオブジェクトとして認識します。特に、参照カウントのみのローカルkptrにはNON_OWN_REFフラグが付与されないため、RCU保護が終了した後でもbpf_refcount_acquire()引数チェックを通過し続けます。これにより、kfuncはNULLまたは古くなった(stale)メモリへの間接参照を行う可能性があります。
type_is_ptr_alloc_obj()関数を修正して、PTR_UNTRUSTEDポインタを拒否するようにします。type_is_non_owning_ref()も同じ述語に基づいているため、グラフのkfunc引数も同様の生きたオブジェクト要件に従います。降格されたポインタに対するフォールト保護付き読み取りは有効なままです:書き込み操作は既に拒否されており、読み取り修正(fixups)はこの述語ではなくbpf_may_fault_on_deref()を使用します。
[ kkd: コミットログを再作成 ]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.