Description
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.
Published: 2026-07-19
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw occurs in the IPv6 IOAM handling path where the hdr pointer is not refreshed after skb_ensure_writable may reallocate the socket buffer, resulting in a use‑after‑free condition (CWE‑825). The stale hdr pointer leads to a use‑after‑free when calling ioam6_event, which can corrupt kernel memory and trigger a kernel crash or provide a foothold at kernel level.

Affected Systems

All Linux systems running a kernel version that does not yet incorporate the patch shown in the provided kernel commits. The vulnerability is present in the generic Linux kernel source and thus affects installations across the entire spectrum of mainstream distributions until the fix is applied.

Risk and Exploitability

The CVSS score of 9.8 indicates critical severity. The EPSS score is below 1 %, suggesting the probability of exploitation is very low, though many systems remain vulnerable. The vulnerability is not listed in CISA KEV. Because the trigger is a crafted IPv6 IOAM packet, the likely attack vector is a remote network‑based attack, requiring the attacker to send malformed packet data to a vulnerable host. If exploitation succeeds, the resulting use‑after‑free could transition from a denial‑of‑service to privilege escalation or remote‑code‑execution.

Generated by OpenCVE AI on August 1, 2026 at 07:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the ioam header pointer recalculation patch.
  • If an immediate kernel upgrade is not feasible, disable IOAM support or unload the related kernel module to prevent the vulnerable code path from executing.
  • Configure firewall or packet filtering rules to block or drop incoming IPv6 packets containing IOAM options, providing a temporary defensive measure while a kernel update is pending.

Generated by OpenCVE AI on August 1, 2026 at 07:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8593-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8603-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Mon, 20 Jul 2026 14:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Mon, 20 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Important


Sun, 19 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Description 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.
Title ipv6: ioam: refresh hdr pointer before ioam6_event()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:39:34.060Z

Reserved: 2026-07-19T07:54:57.036Z

Link: CVE-2026-64132

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-64132 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T07:45:05Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference