CRITICAL🇵🇱 Wersja polska

CVE-2026-43038

CVSS 9.8v3.1pub. 2026-05-01upd. 2026-06-30

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.

🤖 AI Analysis
How it works

When an external ICMPv4 packet is cloned to skb2 and passed to icmp6_send(), the cb[] array contains an inet_skb_parm structure (IPv4), which is incorrectly interpreted by the IP6CB macro as inet6_skb_parm (IPv6). The cipso field in the IPv4 structure overlaps with the dsthao field in the IPv6 structure at offset 18. If an attacker sends a crafted ICMPv4 packet with a CIPSO option, the mip6_addr_swap() function will call ipv6_find_tlv() with an unverified dsthao offset, scanning attacker-controlled content in the IPv6 packet. As a result, a 16-byte data swap may occur beyond the packet data boundary, potentially reaching the skb_shared_info structure.

Impact

An attacker can remotely trigger invalid memory access beyond packet buffer boundaries, which may lead to violations of confidentiality, integrity, and availability of the system, including potentially arbitrary code execution or kernel crash.

Mitigation & patch

Patches available from the vendor should be applied according to references (commits: 0452b6526b2f, 1ceeebd5bd6d, 3d5127d998de, 86ab3e55673a, a2edbb6393972a in the linux-stable repository)

Who is affected

Linux Kernel — versions indicated in vendor references (patches available in the stable repository)

Analysis generated by Claude AI (Anthropic) based on NVD data. Always verify with vendor.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Linux Kernel

    OS
    Linux
    3.137.05.16 – 6.1.168 (bez)6.2 – 6.6.134 (bez)< 5.10.2536.13 – 6.18.22 (bez)6.19 – 6.19.12 (bez)6.7 – 6.12.81 (bez)5.11 – 5.15.203 (bez)
🔵
CHECK WITH VENDOR
No clear patch data available. Check vendor references.
CWE
References

Related vulnerabilities

CVE-2025-10585CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty

CVE-2025-34028CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP

CVE-2022-47986CRITICAL9.8⚠ KEVten sam produkt

IBM Aspera Faspex 4.4.2 Patch Level 1 and earlier could allow a remote attacker to execute arbitrary code on t...

CVE-2022-22954CRITICAL9.8⚠ KEVten sam produkt

VMware Workspace ONE Access and Identity Manager contain a remote code execution vulnerability due to server-s...

CVE-2020-4006CRITICAL9.1⚠ KEVten sam produkt

VMware Workspace One Access, Access Connector, Identity Manager, and Identity Manager Connector address have a...