CVE-2026-43186 ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()

Critical 9.8 Published Updated

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).

Weakness: CWE-787, CWE-122

Which versions are affected by CVE-2026-43186?

It affects 1 product.

Linux distribution packages (40)
kernel AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-debug AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-debug-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-debug-devel AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-debug-devel-matched AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-debug-modules AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-debug-modules-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-debug-modules-extra AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-devel AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-devel-matched AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-modules AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-modules-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-64k-modules-extra AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-abi-stablelists AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-cross-headers AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug-devel AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug-devel-matched AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug-modules AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug-modules-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug-modules-extra AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-debug-uki-virt AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-devel AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-devel-matched AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-doc AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-headers AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-modules AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-modules-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-modules-extra AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-modules-extra-matched AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-rt AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-rt-64k AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-rt-64k-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-rt-64k-debug AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-rt-64k-debug-core AlmaLinux:10All versions6.12.0-211.44.1.el10_2
kernel-rt-64k-debug-devel AlmaLinux:10All versions6.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.

All Linux kernel vulnerabilities

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.

Is CVE-2026-43186 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free