CVE-2026-90160 in Linux
要約
〜によって VulDB • 2026年09月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
lwt_bpf: xmitプログラム実行後に予約済みヘッダ領域を復元する
ip_finish_output2()は、LWT転送(xmit)の前にskbをLL_RESERVED_SPACE(dev)まで拡張します。その後、LWT_XMIT BPFプログラムがskbのヘッダを変更し、BPF_OKを返す場合でも、bpf_xmit()はskbが近接出力処理に進む前に残りのヘッダ領域を再確認します。
この再確認ではdst->dev->hard_header_lenを使用しています。しかし、これは近接キャッシュされたヘッダーパスには不十分です:neigh_hh_output()は、短いヘッダーの場合はHH_DATA_MOD、それ以外の場合はHH_DATA_ALIGN(hh_len)を用いて、アライメント済みのhh_cacheサイズでキャッシュされたハードウェアヘッダをコピーします。
イーサネットにおいてhard_header_lenは14ですが、キャッシュされたコピーには16バイトが必要です。LWT_XMIT BPFプログラムがbpf_skb_change_head(skb, 1, 0)を呼び出した場合、プログラム実行後でもskbに15バイトのヘッダ領域が残ることがあります。既存の確認処理はこの状態を受け入れますが、その後neigh_hh_output()でヘッダ領域不足警告が発生し、skbは破棄されます。
LWT転送前に確保された予約と一致させるため、BPF実行後のヘッダ領域確認にはLL_RESERVED_SPACE(dst->dev)を使用します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.