CVE-2026-98044情報

要約

〜によって VulDB • 2026年09月25日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

bpf: コールバックからのレガシーなパケット読み込みを拒否する

check_ld_abs()関数は、サブルーチン内でのBPF_LD_ABSまたはBPF_LD_INDの失敗を、R0がゼロに設定された暗黙的なリターンとしてモデル化します。そしてprepare_func_exit()を呼び出して、この合成されたパスを検証します。

読み込み操作が同期コールバックから直接到達される場合、prepare_func_exit()はコールバックのリターン契約を強制し、R0を精密(precise)な状態にマークします。このパスにおいてR0は実際の命令由来ではないため、精度の遡及処理(precision backtracking)はコールバック呼び出しまで達した時点でまだ要求されているR0を検出しまい、「callback unexpected regs」検証エラーを引き起こします。特権を持つプログラムローダーはこれにより、検証警告と-EFAULTを伴うBPF_PROG_LOAD失敗を招く可能性があります。

これらのレガシーなパケット読み込み命令は非推奨です。暗黙的なリターンモデルを複雑にするのではなく、コールバックからそれらを拒否します。ネストされた静的サブルーチンがコールバックのコンテキストを隠蔽できないよう、暗黙的なリターンを構築する前にすべてのアクティブフレームをチェックします。

グローバル関数は新鮮なゼロ初期化フレームで独立して検証されるため、アクティブフレームチェックだけではコールバックから呼び出されたグローバル関数を特定できません。スタック深度検証中に完全なサブルーチン呼出しグラフも確認し、任意の呼び出し元がコールバックである場合、レガシー読み込みを含む関数は拒否されます。これによりhas_ld_absを推移的(transitive)にすることなく、グローバルおよび静的な子孫関数をカバーし、各関数ごとのBTF戻り値型チェックを維持します。コールバック外の通常の使用は引き続きサポートされています。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

モデレーション

レビュー中

CWE

不明

EPSS

0.00000

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!