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

ipv6: ioam: fix type confusion of dst_entry

IOAM uses a dummy dst_entry(null_dst) to mark that the destination should
not be changed after the transformation. This dst is stored in the IOAM lwt
state and may be passed to dst_cache_set_ip6().

However, the IPv6 dst cache path eventually calls rt6_get_cookie(), which
treats the dst_entry as part of a struct rt6_info. Since the null_dst was
embedded directly as a struct dst_entry in struct ioam6_lwt, this resulted
in an invalid cast and rt6_get_cookie() reading fields from the wrong
object.

In practice, the wrong cookie is not used while dst->obsolete is zero, but
rt6_get_cookie() may also access per-cpu value when rt->sernum is
zero. In this case, rt->sernum aliases ioam6_lwt::cache::reset_ts, which
can become zero, making this a potential invalid pointer access.

Fix this by embedding a full struct rt6_info for the dummy IPv6 route and
passing its dst member to the dst APIs.
Published: 2026-08-15
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel contains a type‑confusion flaw in the IPv6 IOAM (Internet‑Based Address‑Marking) module. An IOAM lightweight‑tunnel state may store a dummy routing entry as a plain dst_entry structure, but the IPv6 routing cache treats it as a full rt6_info structure. The resulting invalid cast allows the kernel to read fields from the wrong object, producing an incorrect routing cookie and potentially an invalid pointer dereference. If the wrong cookie is used while the dst->obsolete flag is zero, or when rt->sernum is zero, the kernel may read a per‑CPU field that can alias a zeroed value, leading to memory corruption or an OOPS. The weakness is a type‑confusion bug that can corrupt kernel memory.

Affected Systems

This defect affects the generic Linux kernel when the IOAM IPv6 lightweight‑tunnel feature is enabled. All distributions that compile the upstream kernel with the lwt_ioam option turned on are vulnerable until the upstream commits that embed a full rt6_info struct are applied. No vendor‑specific product or version information is listed beyond the generic linux_kernel identifier, so any kernel build containing lwt_ioam remains exposed.

Risk and Exploitability

The CVSS score of 9.8 indicates extremely high severity, but the EPSS score is below 1 %, meaning community data shows a very low probability of exploitation at the time of this analysis. The vulnerability is not included in CISA’s KEV catalog. Based on the description, the most plausible attack vector is a local or privileged process that can alter IOAM configuration or state, as the flaw occurs inside kernel routing logic. Because it can corrupt kernel memory, the impact is severe, although the likelihood of active exploitation remains low according to the EPSS metric.

Generated by OpenCVE AI on August 22, 2026 at 03:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that contains the upstream commits 5a3b2ee1, 9ed19e11, or ea24f911.
  • If an upgrade is not immediately possible, disable the IOAM lightweight‑tunnel functionality by removing the lwt_ioam module or recompiling the kernel without the lwt_ioam configuration option.
  • Monitor kernel logs for OOPS messages or signs of null_dst usage and configure alerts to detect potential corruption events.

Generated by OpenCVE AI on August 22, 2026 at 03:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 20 Aug 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Mon, 17 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-84

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics 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'}


Sat, 15 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-84

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ipv6: ioam: fix type confusion of dst_entry IOAM uses a dummy dst_entry(null_dst) to mark that the destination should not be changed after the transformation. This dst is stored in the IOAM lwt state and may be passed to dst_cache_set_ip6(). However, the IPv6 dst cache path eventually calls rt6_get_cookie(), which treats the dst_entry as part of a struct rt6_info. Since the null_dst was embedded directly as a struct dst_entry in struct ioam6_lwt, this resulted in an invalid cast and rt6_get_cookie() reading fields from the wrong object. In practice, the wrong cookie is not used while dst->obsolete is zero, but rt6_get_cookie() may also access per-cpu value when rt->sernum is zero. In this case, rt->sernum aliases ioam6_lwt::cache::reset_ts, which can become zero, making this a potential invalid pointer access. Fix this by embedding a full struct rt6_info for the dummy IPv6 route and passing its dst member to the dst APIs.
Title ipv6: ioam: fix type confusion of dst_entry
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-17T05:44:08.737Z

Reserved: 2026-08-09T03:40:39.928Z

Link: CVE-2026-72429

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:16.770

Modified: 2026-08-17T06:19:10.243

Link: CVE-2026-72429

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72429 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T03:30:16Z

Weaknesses
  • CWE-843

    Access of Resource Using Incompatible Type ('Type Confusion')