CVE-2026-43038
CriticalIn 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.
CVSS 3.1 score
9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected versions
Linux kernel versions
3.13
and later are affected. Fixed in
5.10.253,
5.15.203,
6.1.168,
6.6.134,
6.12.81,
6.18.22,
6.19.12,
7.0
and their respective stable series.
References
The following references provide additional information about CVE-2026-43038 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
PatchKernel patch commithttps://git.kernel.org/stable/c/0452b6526b2f54b2413b9cb4ff1ea2ac542c99c7
-
PatchKernel patch commithttps://git.kernel.org/stable/c/1ceeebd5bd6d855b17a5df625109bfe29129d7cf
-
PatchKernel patch commithttps://git.kernel.org/stable/c/3d5127d998de617b130aae96b138dba22ac6a8a7
Frequently asked questions
-
What is CVE-2026-43038?
CVE-2026-43038 is a Critical severity Linux kernel vulnerability with a CVSS score of 9.8 out of 10 . It affects Linux kernel versions from 3.13 onward and has been patched in 5.10.253, 5.15.203, 6.1.168 and others. CVE-2026-43038 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
What is the CVSS score for CVE-2026-43038?
CVE-2026-43038 has a CVSS score of 9.8 out of 10, rated Critical severity (CVSS 3.1). The vector string is
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. -
Is there a patch available for CVE-2026-43038?
Yes — CVE-2026-43038 has been patched. Fixed versions include 5.10.253, 5.15.203, 6.1.168 and others. If you are running Linux kernel 3.13 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2026-43038 actively exploited?
No — CVE-2026-43038 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.