製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました:ipv6のicmpのip6_err_gen_icmpv6_unreach()内でskb2-cb[]をクリアする問題です。Sashiko AIレビューでは、ip6_err_gen_icmpv6_unreach()におけるskbは外側のIPv4 ICMPエラーパケットであり、そのcbにはIPv4のinet_skb_parmが含まれていることが観察されました。skbがskb2にクローンされicmp6_send()に渡される際、IP6CB(skb2)が使用されます。IP6CBはIPv4のinet_skb_parmをinet6_skb_parmとして解釈します。inet_skb_parm.opt内のcipsoオフセットは、オフセット18のinet6_skb_parmのdsthaoと直接重なっています。攻撃者がCIPSO IPオプション付きの偽造ICMPv4エラーを送信した場合、dsthaoは非ゼロのオフセットとなります。icmp6_send()内でmip6_addr_swap()が呼ばれ、ipv6_find_tlv(skb, opt-dsthao, IPV6_TLV_HAO)が使用されます。これにより、そのオフセットから始まる攻撃者制御の内部IPv6パケットがスキャンされ、残りのパケット長が18バイトのstruct ipv6_destopt_hao全体を保持できるか確認せずに偽のTLVを返す可能性があります。mip6_addr_swap()がパケットデータの終端を超えてskb_shared_infoまで16バイトのスワップを実行することがあります。このため、ip6_err_gen_icmpv6_unreach()およびip6ip6_err()内でcb配列もクリアすべきです。今回のパッチは最初の提案を実装しています。ip6ip6_err()の変更が必要かは不明であり、別途パッチを適用することが望ましいです。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date May 1, 2026, midnight
Registration Date May 11, 2026, 11:08 a.m.
Last Update May 11, 2026, 11:08 a.m.
CVSS3.0 : 緊急
Score 9.8
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected System
Linux
Linux Kernel 3.13
Linux Kernel 3.13 より大きい 5.10.253 未満
Linux Kernel 5.11 以上 5.15.203 未満
Linux Kernel 5.16 以上 6.1.168 未満
Linux Kernel 6.13 以上 6.18.22 未満
Linux Kernel 6.19 以上 6.19.12 未満
Linux Kernel 6.2 以上 6.6.134 未満
Linux Kernel 6.7 以上 6.12.81 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月11日]
  掲載
May 11, 2026, 11:08 a.m.

NVD Vulnerability Information
CVE-2026-43038
Summary

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

ipv6: icmp: clear skb2->cb[] in ip6_err_gen_icmpv6_unreach()

Sashiko AI-review observed:

In ip6_err_gen_icmpv6_unreach(), the skb is an outer IPv4 ICMP error packet
where its cb contains an IPv4 inet_skb_parm. When skb is cloned into skb2
and passed to icmp6_send(), it uses IP6CB(skb2).

IP6CB interprets the IPv4 inet_skb_parm as an inet6_skb_parm. The cipso
offset in inet_skb_parm.opt directly overlaps with dsthao in inet6_skb_parm
at offset 18.

If an attacker sends a forged ICMPv4 error with a CIPSO IP option, dsthao
would be a non-zero offset. Inside icmp6_send(), mip6_addr_swap() is called
and uses ipv6_find_tlv(skb, opt->dsthao, IPV6_TLV_HAO).

This would scan the inner, attacker-controlled IPv6 packet starting at that
offset, potentially returning a fake TLV without checking if the remaining
packet length can hold the full 18-byte struct ipv6_destopt_hao.

Could mip6_addr_swap() then perform a 16-byte swap that extends past the end
of the packet data into skb_shared_info?

Should the cb array also be cleared in ip6_err_gen_icmpv6_unreach() and
ip6ip6_err() to prevent this?

This patch implements the first suggestion.

I am not sure if ip6ip6_err() needs to be changed.
A separate patch would be better anyway.

Publication Date May 2, 2026, 12:16 a.m.
Registration Date May 2, 2026, 4:07 a.m.
Last Update May 9, 2026, 3:47 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.13 5.10.253
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 5.15.203
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 6.1.168
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 6.6.134
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 6.12.81
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 6.18.22
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 6.19.12
cpe:2.3:o:linux:linux_kernel:3.13:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:3.13:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:3.13:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:3.13:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:3.13:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:3.13:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:3.13:rc8:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
Related information, measures and tools
Common Vulnerabilities List