CVE-2026-43186: ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()
In the Linux kernel, the following vulnerability has been resolved:
ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()
On the receive path, __ioam6_fill_trace_data() uses trace->nodelen
to decide how much data to write for each node. It trusts this field
as-is from the incoming packet, with no consistency check against
trace->type (the 24-bit field that tells which data items are
present). A crafted packet can set nodelen=0 while setting type bits
0-21, causing the function to write ~100 bytes past the allocated
region (into skb_shared_info), which corrupts adjacent heap memory
and leads to a kernel panic.
Add a shared helper ioam6_trace_compute_nodelen() in ioam6.c to
derive the expected nodelen from the type field, and use it:
- in ioam6_iptunnel.c (send path, existing validation) to replace
the open-coded computation;
- in exthdrs.c (receive path, ipv6_hop_ioam) to drop packets whose
nodelen is inconsistent with the type field, before any data is
written.
Per RFC 9197, bits 12-21 are each short (4-octet) fields, so they
are included in IOAM6_MASK_SHORT_FIELDS (changed from 0xff100000 to
0xff1ffc00).
Security readout for executives and security teams
Plain-English summary
A malformed IPv6 IOAM packet can make an affected Linux kernel write beyond allocated memory. The documented result is memory corruption and a kernel panic, allowing an unauthenticated network-originated denial of service where the vulnerable receive path is reachable. The supplied CVSS rating is 9.8, but no active exploitation is reported.
Executive priority
Treat as an urgent patching issue for exposed or IOAM-enabled Linux infrastructure because a network packet can crash the kernel without authentication. Prioritize internet-facing, routing, observability, and shared-service systems. Avoid assuming every Linux host is reachable through this path; complete exposure validation promptly.
Technical view
The IPv6 IOAM receive path trusted an incoming trace nodelen without checking consistency with the trace type bitmap. A crafted mismatch can cause __ioam6_fill_trace_data() to overwrite roughly 100 bytes into adjacent skb_shared_info memory. The fix computes the expected node length and rejects inconsistent packets before writing.
Likely exposure
Exposure is most likely on systems running an affected Linux kernel where IPv6 IOAM packets can reach the vulnerable receive path. The bundle lists affected versions beginning with 5.15 and several later branch versions, but does not provide sufficiently clear range notation for exact package-level decisions. Confirm status with the Linux or distribution vendor.
Exploitation context
The vulnerability is remotely triggerable according to its network, low-complexity, unauthenticated CVSS vector. The supplied record is not in KEV and contains no evidence of exploitation in the wild or a public proof of concept. Kernel panic is documented; further impact is represented by the CVSS assessment but not demonstrated in the bundle.
Researcher notes
The overflow results from trusting packet-controlled nodelen while type determines the actual trace fields. The documented mismatch can overwrite adjacent skb_shared_info. The correction centralizes node-length calculation, expands the short-field mask for RFC 9197 bits 12–21, and validates received traces before writes. The bundle does not establish code execution, exploit reliability, or active abuse.
Mitigation direction
Apply a vendor kernel update that incorporates the referenced stable fix.
Reboot into the corrected kernel and confirm the running version changed.
Prioritize systems accepting IPv6 IOAM traffic from untrusted or broadly reachable networks.
If patching is deferred, consult vendor guidance; the sources identify no standalone workaround.
Validation and detection
Inventory running kernel versions and identify systems using or receiving IPv6 IOAM traffic.
Map distribution kernel packages to the referenced stable commits or vendor advisories.
Confirm the running kernel contains receive-path nodelen consistency validation.
Review kernel panic and memory-corruption telemetry without treating its absence as proof of safety.
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.
cve · low confidence lookup
CVE-2026-43186 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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.
1CVSS vectors
3Timeline events
0ADP providers
8Source links
CVSS vector scores
1 official score
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.