LinuxのLinux Kernelにおける任意の場所に任意の値を書き込み可能な状態に関する脆弱性
タイトル LinuxのLinux Kernelにおける任意の場所に任意の値を書き込み可能な状態に関する脆弱性
概要

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入力はフラグメントリストのないクローンされていないskbに対してNo-COW高速パスを使い、skbがプライベートに所有していないデータ上にインプレースで復号します。IPv4/IPv6のデータグラムスプライスフラグメントにSKBFL_SHARED_FRAGをTCPに合わせてマークします。また、ESP入力はこのフラグが存在する場合skb_cow_data()にフォールバックし、ESPが外部でサポートされているフラグメント上でインプレース復号しないようにします。プライベートな非線形skbフラグメントは従来の高速パスを引き続き使用します。この変更はESP出力に意図的に影響を与えません。esp_output_head()内では、skb_cow_data()を呼ばず既存のskbテールルームにESPトレーラを追加する経路は非線形skbに対して到達不能です。skb_tailroom()はskb-data_lenが非ゼロの場合ゼロを返し、ESPのtailenは正であるためです。したがって、ESP出力は別の宛先フラグメントパスを使用するかskb_cow_data()にフォールバックします。

想定される影響 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年5月8日0:00
登録日 2026年5月11日11:05
最終更新日 2026年5月11日11:05
CVSS3.0 : 重要
スコア 7.8
ベクター CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
影響を受けるシステム
Linux
Linux Kernel 4.11 以上 5.10.255 未満
Linux Kernel 5.12 以上 5.15.205 未満
Linux Kernel 5.16 以上 6.1.171 未満
Linux Kernel 6.13 以上 6.18.28 未満
Linux Kernel 6.2 以上 6.6.138 未満
Linux Kernel 6.7 以上 6.12.87 未満
Linux Kernel 7.0 以上 7.0.5 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年05月11日]
  掲載
2026年5月11日11:05

NVD脆弱性情報
CVE-2026-43284
概要

In the Linux kernel, the following vulnerability has been resolved:

xfrm: esp: avoid in-place decrypt on shared skb frags

MSG_SPLICE_PAGES can attach pages from a pipe directly to an skb. TCP
marks such skbs with SKBFL_SHARED_FRAG after skb_splice_from_iter(),
so later paths that may modify packet data can first make a private
copy. The IPv4/IPv6 datagram append paths did not set this flag when
splicing pages into UDP skbs.

That leaves an ESP-in-UDP packet made from shared pipe pages looking
like an ordinary uncloned nonlinear skb. ESP input then takes the no-COW
fast path for uncloned skbs without a frag_list and decrypts in place
over data that is not owned privately by the skb.

Mark IPv4/IPv6 datagram splice frags with SKBFL_SHARED_FRAG, matching
TCP. Also make ESP input fall back to skb_cow_data() when the flag is
present, so ESP does not decrypt externally backed frags in place.
Private nonlinear skb frags still use the existing fast path.

This intentionally does not change ESP output. In esp_output_head(),
the path that appends the ESP trailer to existing skb tailroom without
calling skb_cow_data() is not reachable for nonlinear skbs:
skb_tailroom() returns zero when skb->data_len is nonzero, while ESP
tailen is positive. Thus ESP output will either use the separate
destination-frag path or fall back to skb_cow_data().

公表日 2026年5月8日17:16
登録日 2026年5月9日4:12
最終更新日 2026年5月9日0:16
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.11 5.10.255
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.12 5.15.205
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 6.1.171
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 6.6.138
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 6.12.87
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 6.18.28
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 7.0 7.0.5
関連情報、対策とツール
共通脆弱性一覧