CVE-2026-43284 in Linux
要約
〜によって VulDB • 2026年05月11日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
xfrm: esp: 共有skbフラグメント上でのインプレース復号を回避する
MSG_SPLICE_PAGESを使用すると、パイプからのページを直接skbに付加できます。TCPは、skb_splice_from_iter()呼び出し後、そのようなskbにSKBFL_SHARED_FRAGフラグを付けます。これにより、後続のデータ変更経路で、まずプライベートコピーを作成することが可能になります。しかし、IPv4/IPv6のデータグラム付加経路では、UDP skbにページをスプライスする際にこのフラグを設定していませんでした。
その結果、共有パイプページから構成されたESP-in-UDPパケットは、通常のクローン化されていない非線形skbのように見なされます。ESP入力処理では、frag_listを持たないクローン化されていないskbに対してCOW(Copy-On-Write)不要の高速経路が選択され、skbがプライベートに所有していないデータ上でのインプレース復号が行われてしまいます。
IPv4/IPv6のデータグラムスプライスフラグメントにSKBFL_SHARED_FRAGフラグを設定し、TCPと同様の挙動にします。また、ESP入力処理においてこのフラグが存在する場合はskb_cow_data()にフォールバックさせ、ESPが外部バックアップされたフラグメントをインプレースで復号しないようにします。プライベートな非線形skbフラグメントについては、既存の高速経路をそのまま使用します。
本修正は意図的にESP出力には影響を与えません。esp_output_head()において、skb_cow_data()を呼び出さずに既存のskb tailroomにESPトレーラを付加する経路は、非線形skbに対しては到達不可能です。skb->data_lenが0でない場合、skb_tailroom()は0を返しますが、ESPのtailenは正の値であるためです。したがって、ESP出力は個別の宛先フラグメント経路を使用するか、skb_cow_data()にフォールバックします。
VulDB is the best source for vulnerability data and more expert information about this specific topic.