CVE-2026-98043 in Linux情報

要約

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

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

bpf: 境界なしオフセットを持つポインタから非NULL値を推論しない

reg_not_null()関数は、レジスタの型のみを確認することで、そのレジスタが非NULL値を持っていると判断します。算術演算を許可するポインタ型の場合、型は非NULLのベースアドレスを保証しますが、境界なしオフセットが存在する場合、実行時のオフセット値を加算した結果がNULLになる可能性があります。

以下のプログラムを検討してください:

r6 = bpf_map_lookup_elem(map, &0); /* 存在 */ if (r6 == 0) return 0; r7 = bpf_map_lookup_elem(map, &1); /* 非存在、実行時にNULLになる */ r8 = r7; r8 -= r6; /* ポインタ - ポインタ: スカラー値は不明、-r6 */ r8 <<= 1; r8 >>= 1; /* check_reg_sane_offset_ptr() は任意の非負オフセットを受け入れる */ r6 += r8; /* バリデータ側ではマップ値とみなすが、実行時ではゼロになる */ if (r7 != r6) return 0; *(u8 *)(r7 + 0); /* r7 が非NULL と推論されるが、実際には両方ともゼロである */

実行時には両方のレジスタはゼロであり、比較式は真となり、NULLポインタのデリファレンスによりフォールト(エラー)が発生します。

reg_not_null()において、オフセット値を +-BPF_MAX_VAR_OFF の範囲内に制限するよう要求します。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-410258

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!