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

ila: reload IPv6 header after pskb_may_pull in checksum adjust

ila_csum_adjust_transport() caches ip6h = ipv6_hdr(skb) before calling
pskb_may_pull(). On a non-linear skb whose transport header sits in a page
fragment, pskb_may_pull() can call __pskb_pull_tail() / pskb_expand_head()
and free the old skb head, leaving ip6h dangling; the following
get_csum_diff(ip6h, p) then reads freed memory. ila_update_ipv6_locator()
uses ip6h (and the iaddr derived from it) again after the csum-adjust
call and additionally writes the new locator through that pointer.

Impact: a remote IPv6 packet routed through a configured ILA
csum-adjust-transport route or receive-side mapping triggers a
slab-use-after-free in ila_update_ipv6_locator() (KASAN). The route or
mapping requires CAP_NET_ADMIN to configure, but trigger packets are
unauthenticated once it exists.

Reload ip6h after each pskb_may_pull() in ila_csum_adjust_transport()
before the csum-diff read. In ila_update_ipv6_locator() only the
ILA_CSUM_ADJUST_TRANSPORT case pulls the skb, so reload ip6h and iaddr in
that case alone before the destination-address write; the neutral-map
modes never pull and keep their cached pointers.
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A use‑after‑free vulnerability exists in the Linux kernel’s ILA transport checksum adjustment routine. The code caches a pointer to the IPv6 header before a potential reallocation, then later dereferences that stale pointer after the buffer has been freed. This can cause the kernel to read and modify memory that no longer belongs to the packet, leading to a slab-use-after-free condition exposed by KASAN. Depending on the specific kernel configuration, this flaw can allow an attacker to execute arbitrary code with kernel privileges or cause a system crash.

Affected Systems

The vulnerability affects any Linux kernel that includes the ILA module as described. No specific kernel versions are listed, so vendors and system administrators should treat all current and supported kernel releases that contain the mentioned code paths as potentially impacted until an official patch is applied.

Risk and Exploitability

The flaw is triggered by an unauthenticated IPv6 packet once a privileged configuration is in place, requiring any attacker who can send such packets to a target that has an ILA csum‑adjust‑transport route or mapping. While no EPSS score is currently available and the vulnerability is not listed in the CISA KEV catalog, the nature of a kernel use‑after‑free combined with remote network input strongly suggests a high likelihood of denial of service or remote code execution if exploited. The absence of a published CVSS score indicates that the exact severity has not been quantified publicly, but the high impact potential warrants proactive remediation.

Generated by OpenCVE AI on August 10, 2026 at 13:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply an updated kernel that removes the stale pointer issue in the ILA csum‑adjust routine.
  • Reboot the system after installing the patch to ensure the kernel is running the fixed code.
  • If a patch is not yet available, remove or disable any configured ILA csum‑adjust‑transport routes or mappings to prevent the vulnerability from being triggered.

Generated by OpenCVE AI on August 10, 2026 at 13:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 14:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ila: reload IPv6 header after pskb_may_pull in checksum adjust ila_csum_adjust_transport() caches ip6h = ipv6_hdr(skb) before calling pskb_may_pull(). On a non-linear skb whose transport header sits in a page fragment, pskb_may_pull() can call __pskb_pull_tail() / pskb_expand_head() and free the old skb head, leaving ip6h dangling; the following get_csum_diff(ip6h, p) then reads freed memory. ila_update_ipv6_locator() uses ip6h (and the iaddr derived from it) again after the csum-adjust call and additionally writes the new locator through that pointer. Impact: a remote IPv6 packet routed through a configured ILA csum-adjust-transport route or receive-side mapping triggers a slab-use-after-free in ila_update_ipv6_locator() (KASAN). The route or mapping requires CAP_NET_ADMIN to configure, but trigger packets are unauthenticated once it exists. Reload ip6h after each pskb_may_pull() in ila_csum_adjust_transport() before the csum-diff read. In ila_update_ipv6_locator() only the ILA_CSUM_ADJUST_TRANSPORT case pulls the skb, so reload ip6h and iaddr in that case alone before the destination-address write; the neutral-map modes never pull and keep their cached pointers.
Title ila: reload IPv6 header after pskb_may_pull in checksum adjust
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-10T11:58:48.489Z

Reserved: 2026-07-30T09:28:09.369Z

Link: CVE-2026-68127

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T14:45:17Z

Weaknesses