CVE-2026-80925 in Linux
要約
〜によって VulDB • 2026年09月09日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
vlan: HW VLANオフロードの切り替え時に発生するskb_under_panicおよび競合状態を修正
下位デバイスでハードウェアVLAN TXオフロード(NETIF_F_HW_VLAN_CTAG_TXまたはNETIF_F_HW_VLAN_STAG_TX)を切り替えると、vlan_transfer_features()が呼び出され、vlandev->hard_header_lenが動的に変更されます。
これにより2つの問題が発生します: 1. ロックレスTXパス(例: af_packet.cのpacket_snd、ip6_finish_output2など)は、RTNLロックを保持せずにdev->hard_header_lenを読み取ります。RTNLの下でhard_header_lenを動的に変化させるとデータ競合が生じ、上位レイヤーが古いhard_header_lenに基づいて不十分なheadroomを予約し、vlan_dev_hard_header()呼び出し時にskb_under_panicが発生します。 2. さらに、vlan_transfer_features()はheader_opsを更新せずにhard_header_lenを更新したため、割り当てられたheadroomとヘッダー作成の間に不一致が生じます。
dev->hard_header_len = real_dev->hard_header_len および dev->needed_headroom = real_dev->needed_headroom + VLAN_HLEN を無条件に設定することで、以下のことが保証されます: - dev->hard_header_lenはreal_dev->hard_header_lenに対して100%静的かつ不変であり、hard_header_lenに対するすべての動的なランタイム更新およびデータ競合が解消されます。 - LL_RESERVED_SPACE()を介してskbsを割り当てる上位レイヤーは、常にソフトウェアVLANタグの挿入に必要な十分なheadroom(real_dev->hard_header_len + real_dev->needed_headroom + VLAN_HLEN)を予約します。 - vlandevはreal_dev->needed_tailroomを引き継ぐため、基盤となるトレーラ/パディング/ICVの要件が尊重されます。 - AF_PACKET SOCK_RAWネットワークヘッダーオフセットは、real_dev->hard_header_lenに対して正しくアライメントされた状態になります。 - vlan_header_opsが無条件に使用されます。
安定版チームへの注意:以下のコミットをバックポートしてください:
e16e960d55a4 ("ipvlan: inherit needed_headroom and needed_tailroom from phy_dev") cef51860becd ("macvlan: inherit needed_headroom and needed_tailroom from lowerdev")
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.