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 ioam6filltracedata()
On the receive path, ioam6filltracedata() 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 skbsharedinfo), which corrupts adjacent heap memory and leads to a kernel panic.
Add a shared helper ioam6tracecomputenodelen() in ioam6.c to derive the expected nodelen from the type field, and use it:
- in ioam6iptunnel.c (send path, existing validation) to replace the open-coded computation; - in exthdrs.c (receive path, ipv6hopioam) 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 IOAM6MASKSHORTFIELDS (changed from 0xff100000 to 0xff1ffc00).
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-43186?
CVE-2026-43186 has a severity rating that indicates a potential for significant impact due to a heap buffer overflow in the Linux kernel.
How do I fix CVE-2026-43186?
To fix CVE-2026-43186, update your Linux kernel to the latest version that incorporates the necessary patches.
What systems are affected by CVE-2026-43186?
CVE-2026-43186 affects versions of the Linux kernel that utilize the IOAM feature in IPv6.
What are the consequences of CVE-2026-43186?
The consequences of CVE-2026-43186 include potential remote code execution or denial of service due to the heap buffer overflow.
Is CVE-2026-43186 being actively exploited?
As of the latest updates, there have been no confirmed reports of active exploitation of CVE-2026-43186.