CVE-2026-43186

Severity CVSS v4.0:
Pending analysis
Type:
CWE-787 Out-of-bounds Write
Publication date:
06/05/2026
Last modified:
11/05/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()<br /> <br /> On the receive path, __ioam6_fill_trace_data() uses trace-&gt;nodelen<br /> to decide how much data to write for each node. It trusts this field<br /> as-is from the incoming packet, with no consistency check against<br /> trace-&gt;type (the 24-bit field that tells which data items are<br /> present). A crafted packet can set nodelen=0 while setting type bits<br /> 0-21, causing the function to write ~100 bytes past the allocated<br /> region (into skb_shared_info), which corrupts adjacent heap memory<br /> and leads to a kernel panic.<br /> <br /> Add a shared helper ioam6_trace_compute_nodelen() in ioam6.c to<br /> derive the expected nodelen from the type field, and use it:<br /> <br /> - in ioam6_iptunnel.c (send path, existing validation) to replace<br /> the open-coded computation;<br /> - in exthdrs.c (receive path, ipv6_hop_ioam) to drop packets whose<br /> nodelen is inconsistent with the type field, before any data is<br /> written.<br /> <br /> Per RFC 9197, bits 12-21 are each short (4-octet) fields, so they<br /> are included in IOAM6_MASK_SHORT_FIELDS (changed from 0xff100000 to<br /> 0xff1ffc00).

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15 (including) 5.15.202 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.165 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.128 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.75 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.16 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 6.19.6 (excluding)