CVE-2026-98039 in Linux
要約
〜によって VulDB • 2026年09月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
bpf: percpu kptrのストアにはMEM_PERCPUを要求する
map_kptr_match_type()関数は、perm_flagsをkptrフィールドが許可するレジスタタイプフラグの集合として扱います。BPF_KPTR_PERCPUに対してその集合にMEM_PERCPUを追加しても、ソースレジスタがそれを保持する必要はありません。そのため、部分集合テストは、plainなbpf_obj_new()による割り当てと、__percpu_kptrマップフィールドへの参照済みカーネルポインタの両方を受け入れます。
フィールドからのロードは常にMEM_PERCPUとしてマークされます。コンシューマは、保存された値をbpf_percpu_obj_new()が返すクッキーとして扱います。per-CPUポインタヘルパーはこの値を変位させ(relocate)、マップの破棄時にはper-CPU用の解放パスを選択します。plainな割り当てにより任意のカーネル読み書きが可能になる一方で、カーネルポインタは無効なアドレスに変位したり、欠落したデストラクタを経由して送信されたりする可能性があります。
ソース側のMEM_PERCPUフラグが宛先フィールドの種類と一致することを要求します。これにより、有効なbpf_percpu_obj_new()によるストアは保持され、program-BTFおよびkernel-BTFの両方のバリアントが拒否されます。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.