CVE-2026-64132CWE-416

CVE-2026-64132

Critical · published July 19, 2026

CVSS v3.1
9.8
EPSS
0%
Percentile
41.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

ipv6: ioam: refresh hdr pointer before ioam6_event()

Reported by Sashiko:

In ipv6_hop_ioam(), the hdr pointer is initialized to point into the

skb's linear data buffer. Later, the code calls skb_ensure_writable(),

which might reallocate the buffer:

if (skb_ensure_writable(skb, optoff + 2 + hdr->opt_len))

goto drop;

/* Trace pointer may have changed */

trace = (struct ioam6_trace_hdr *)(skb_network_header(skb)

+ optoff + sizeof(*hdr));

ioam6_fill_trace_data(skb, ns, trace, true);

ioam6_event(IOAM6_EVENT_TRACE, dev_net(skb->dev),

GFP_ATOMIC, (void *)trace, hdr->opt_len - 2);

If the skb is cloned or lacks sufficient linear headroom,

skb_ensure_writable() will invoke pskb_expand_head(), which reallocates

the skb's data buffer and frees the old one, invalidating pointers to

it. While the code recalculates the trace pointer immediately after the

call to skb_ensure_writable(), it fails to recalculate the hdr pointer.

This patch fixes the above by recalculating the hdr pointer before

passing hdr->opt_len to ioam6_event(), so that we avoid any UaF.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00491 · 41.2th percentile
Weakness
CWE-416 · Use After Free
Published
2026-07-19T20:17Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 6.9, < 6.12.926.12.92
linux/linux_kernel≥ 6.13, < 6.18.346.18.34
linux/linux_kernel≥ 6.19, < 7.0.117.0.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 19 JUL 15:40Z
    ipv6: ioam: refresh hdr pointer before ioam6_event()
    cvelistv5