CVE-2026-90359 in Linux情報

要約

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

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

BPF: 戻り値を読み取るトランポリンパスにおける8バイトを超える戻り値を拒否する

btf_distill_func_proto()は、fentry/fexit/fmod_ret/fsessionのトランポリンおよびstruct_opsで使用される関数モデルを構築します。トランポリンが導入されて以来、16バイトの__int128戻り値を受け入れてきました:__get_type_size()は整数の型サイズを返し、戻り値型のチェックではret < 0の場合のみ拒否していました。

しかし、BPFトランポリンは戻り値の下位8バイト(x86上ではRAX、つまりR0)のみを保持します。対象関数の戻り値を読み取るアタッチタイプにおいて、上位半分(RDX / R3)は保存も復元も行われないため、16バイトの値を返す関数にアタッチされたプログラムは、実際の呼び出し側が見る値を破損し、自身はその半分の値しか観察できません。struct_opsトランポリンにも同様の制限があります。

これは対象関数の戻り値を読み取るアタッチタイプに影響します:fexit、fmod_ret、fsession(およびfexitとfsessionの_multiバリアント)、ならびにstruct_opsです。fentry/fentry_multiは対象が戻る前に実行されるため影響を受けません。

bpf_check_attach_target()およびbpf_check_attach_btf_id_multi()においてこれらのアタッチタイプに対して8バイトを超える戻り値を拒否し、struct_opsについてはbpf_struct_ops_desc_init()内で拒否します。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年09月11日

モデレーション

承諾済み

エントリ

VDB-406906

EPSS

0.00000

アクティビティ

非常低い

ソース

Interested in the pricing of exploits?

See the underground prices here!