CVE-2026-43038CWE-787CWE-843

CVE-2026-43038

Critical · published May 1, 2026

CVSS v3.1
9.8
EPSS
0%
Percentile
16.2
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00255 · 16.2th percentile
Weaknesses
CWE-787 · Out-of-bounds Write; CWE-843 · Access of Resource Using Incompatible Type ('Type Confusion')
Published
2026-05-01T19:16Z
Affected products (20)
ProductVersionsFixed in
linux/linux_kernel> 3.13, < 5.10.2535.10.253
linux/linux_kernel≥ 5.11, < 5.15.2035.15.203
linux/linux_kernel≥ 5.16, < 6.1.1686.1.168
linux/linux_kernel≥ 6.2, < 6.6.1346.6.134
linux/linux_kernel≥ 6.7, < 6.12.816.12.81
linux/linux_kernel≥ 6.13, < 6.18.226.18.22
linux/linux_kernel≥ 6.19, < 6.19.126.19.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (33)
https://git.kernel.org/stable/c/0452b6526b2f54b2413b9cb4ff1ea2ac542c99c7 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/1ceeebd5bd6d855b17a5df625109bfe29129d7cf · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/3d5127d998de617b130aae96b138dba22ac6a8a7 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/86ab3e55673a7a49a841838776f1ab18d23a67b5 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a2edbb6393972a02114b6003953a5cef3104fada · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a4437faf135da293d16fcc4cc607316742bd0ebb · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/c438ba010171b70bad22fc18b1d5bdc3627476e8 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e41953e7d118e2702bcb217879c173d9d1d3cd4e · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://access.redhat.com/errata/RHSA-2026:22900 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:22940 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:22964 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:23224 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:23237 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:24343 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:25120 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:25121 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:25533 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:26535 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:30129 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:30848 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:55618 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:55761 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:55762 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:55763 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:55837 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:56224 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:56225 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/security/cve/CVE-2026-43038 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://bugzilla.redhat.com/show_bug.cgi?id=2464397 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://cert-portal.siemens.com/productcert/html/ssa-019113.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5ehttps://cert-portal.siemens.com/productcert/html/ssa-082556.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5ehttps://cert-portal.siemens.com/productcert/html/ssa-457936.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5ehttps://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43038.json · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
EPSS history
Timeline
  • 01 MAY 14:15Z
    ipv6: icmp: clear skb2->cb[] in ip6_err_gen_icmpv6_unreach()
    cvelistv5