CVE-2026-43037: ip6_tunnel: clear skb2->cb[] in ip4ip6_err()
In the Linux kernel, the following vulnerability has been resolved:
ip6_tunnel: clear skb2->cb[] in ip4ip6_err()
Oskar Kjos reported the following problem.
ip4ip6_err() calls icmp_send() on a cloned skb whose cb[] was written
by the IPv6 receive path as struct inet6_skb_parm. icmp_send() passes
IPCB(skb2) to __ip_options_echo(), which interprets that cb[] region
as struct inet_skb_parm (IPv4). The layouts differ: inet6_skb_parm.nhoff
at offset 14 overlaps inet_skb_parm.opt.rr, producing a non-zero rr
value. __ip_options_echo() then reads optlen from attacker-controlled
packet data at sptr[rr+1] and copies that many bytes into dopt->__data,
a fixed 40-byte stack buffer (IP_OPTIONS_DATA_FIXED_SIZE).
To fix this we clear skb2->cb[], as suggested by Oskar Kjos.
Also add minimal IPv4 header validation (version == 4, ihl >= 5).
Security readout for executives and security teams
Plain-English summary
CVE-2026-43037 is a critical Linux kernel memory corruption flaw in IPv6 tunnel error handling. A malformed network path can cause kernel code to treat IPv6 metadata as IPv4 options and copy attacker-controlled data into a fixed-size stack buffer. This can threaten system confidentiality, integrity, and availability.
Executive priority
Treat this as urgent kernel maintenance for exposed Linux fleets. The impact rating is severe and network-reachable, but the provided sources do not show active exploitation. Prioritize rapid patch validation on externally reachable, infrastructure, and high-value systems.
Technical view
The issue is in ip4ip6_err(). A cloned skb carries inet6_skb_parm data in skb->cb[], but icmp_send() later interprets it as inet_skb_parm. The mismatched layout can produce a bogus IPv4 record-route option value, leading __ip_options_echo() to copy an attacker-controlled length into a 40-byte stack buffer. The fix clears skb2->cb[] and adds minimal IPv4 header validation.
Likely exposure
Exposure is most relevant to Linux systems running affected kernel versions with the vulnerable ip6_tunnel path reachable. The CVE data lists Linux as affected across multiple kernel version lines and references upstream stable fixes plus Red Hat advisories. Confirm exposure against the exact running kernel and distributor backports.
Exploitation context
The provided CVSS vector rates this as network-reachable, low complexity, no privileges, and no user interaction. The source bundle says KEV is false and provides no cited evidence of active exploitation, so active exploitation should not be assumed from these sources alone.
Researcher notes
The root cause is type confusion over skb->cb[] contents across IPv6 receive and IPv4 ICMP option handling. The key security boundary is stale control-buffer metadata causing attacker-influenced option parsing and an oversized copy into IP_OPTIONS_DATA_FIXED_SIZE. Evidence does not include a public exploit or complete distro impact matrix.
Mitigation direction
Apply kernel updates from your Linux distributor or vendor advisory channel.
For Red Hat systems, review the listed RHSA advisories for applicable fixed packages.
Track upstream stable commits referenced for the relevant kernel branch.
If patching is delayed, consult vendor guidance for supported risk-reduction options.
Prioritize internet-facing or untrusted-network systems first.
Validation and detection
Inventory Linux hosts and record exact running kernel versions.
Map kernels to vendor advisories or upstream stable fixed commits.
Check whether IPv6 tunnel functionality is enabled or required.
Confirm updated systems booted into the fixed kernel, not only installed it.
Monitor vendor advisories for revised affected-version or backport details.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-843: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
1ADP providers
44Source links
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-843 · source CWE mapping
Access of Resource Using Incompatible Type ('Type Confusion')
Access of Resource Using Incompatible Type ('Type Confusion') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.