CVE-2026-89563 in Linux情報

要約

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

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

ip6_tunnel: ip6_tnl_xmit() で skb_cow_head() を使用する

ip6_tnl_xmit() は、外部の IPv6 ヘッダーおよびオプションのエンキャプレーションヘッダーを付加する前に、headroom(先頭領域)を増やす必要がある場合があります。現在の実装では、skb_realloc_headroom() を使用して headroom の拡張を行い、skb->sk の所有権をコピーし、元の skb を消費してから、ローカル変数に保持された置換 skb で処理を続行しています。

この方法は、ヘルパー関数がその後に失敗しない場合にのみ安全です。しかし、このヘルパーは再割り当て後のエラー終了パスを持っています。collect_md チュンネルは、置換後には NONE 以外のエンキャプレーションを拒否し、ip6_tnl_encap() もその後で失敗する可能性があります。これらの場合、ヘルパーは呼び出し元にエラーを返しますが、呼び出し元はまだ元の skb ポインタしか持っていません。

ip6_tnl_start_xmit() および IPv6 GRE パスの両方は、エラー発生時に呼び出し元の skb を解放するため、ip6_tnl_xmit() がすでに消費した skb を誤って解放してしまう可能性があります。

代わりに skb_cow_head() を使用します。これにより、呼び出し元が所有する skb を内部的に置き換えることなく、必要な headroom と書き込み可能性が提供され、その後のエラー返却時に呼び出し元に古くなった(stale)ポインタが残ることを防ぎます。

Ethernet ユーザーである ip6gretap および ip6erspan は IFF_TX_SKB_SHARING をクリアし、ip6_tnl_xmit() に進入する前にすでに skb_cow_head() を呼び出しています。これらは削除された skb_shared() による再割り当てに依存していません。これにより、IPv6 チュンネルパスは ip_tunnel_xmit() と整合性が取られます。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2026年09月11日

モデレーション

承諾済み

エントリ

VDB-402929

EPSS

0.00000

アクティビティ

低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!