CVE-2026-43186 ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()
A crafted IPv6 packet triggers a heap buffer overflow in the Linux kernel's IOAM module, causing memory corruption and a kernel panic.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-43186?
CVE-2026-43186 is a critical memory corruption vulnerability in Linux kernel, published on 6 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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).
Which versions are affected by CVE-2026-43186?
It affects 1 product.
Linux distribution packages (40)
kernel AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-debug AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-debug-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-debug-devel AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-debug-devel-matched AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-debug-modules AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-debug-modules-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-debug-modules-extra AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-devel AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-devel-matched AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-modules AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-modules-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-64k-modules-extra AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-abi-stablelists AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-cross-headers AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug-devel AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug-devel-matched AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug-modules AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug-modules-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug-modules-extra AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-debug-uki-virt AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-devel AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-devel-matched AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-doc AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-headers AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-modules AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-modules-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-modules-extra AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-modules-extra-matched AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-rt AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-rt-64k AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-rt-64k-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-rt-64k-debug AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-rt-64k-debug-core AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
kernel-rt-64k-debug-devel AlmaLinux:10 | All versions | 6.12.0-211.44.1.el10_2 |
Products include Linux kernel.
How do I fix CVE-2026-43186?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-43186 being exploited?
There is no known exploitation of CVE-2026-43186 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as ALSA-2026:51295, BELL-CVE-2026-43186, DEBIAN-CVE-2026-43186, GHSA-8x8h-4g2v-qpf2, RHSA-2026:51295, RLSA-2026:51295 and 3 more.