CVE-2026-64566

xfrm: iptfs: propagate SKBFL_SHARED_FRAG in iptfs_skb_add_frags()

Published Aug 5, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

xfrm: iptfs: propagate SKBFL_SHARED_FRAG in iptfs_skb_add_frags()

When iptfs_skb_add_frags() copies frag references from the source
frag walk into a new SKB, it increments the page reference count via
__skb_frag_ref() but does not propagate SKBFL_SHARED_FRAG to the
destination SKB's skb_shinfo->flags.

If the source SKB carries shared frags (e.g. from a page-pool backed
receive path), the new inner SKB will appear to ESP as having privately
owned frags. A subsequent esp_input() call for a nested transport-mode
SA then takes the no-COW fast path and decrypts in place, writing over
pages that are still referenced by the outer IPTFS SKB. This causes
kernel-visible memory corruption and can trigger a panic.

All other frag-transfer helpers in the kernel (skb_try_coalesce,
skb_gro_receive, __pskb_copy_fclone, skb_shift, skb_segment) correctly
propagate SKBFL_SHARED_FRAG; align iptfs_skb_add_frags() with this
convention by setting the flag inside the loop immediately after
__skb_frag_ref() and nr_frags++, so every exit path that attaches a frag
unconditionally propagates SKBFL_SHARED_FRAG.

Analysis

AI-generated

Technical impact

In the Linux kernel, the helper that copies packet fragments, iptfs_skb_add_frags, fails to propagate the SKBFL_SHARED_FRAG flag when creating a new socket buffer. When a shared fragment is handled by the ESP decryption routine, the code mistakenly assumes exclusive ownership and performs an in-place decryption that overwrites pages still referenced by the outer packet. This results in kernel-visible memory corruption and can cause a system panic. The issue involves dereferencing a freed pointer (CWE‑821).

Affected Systems

Any Linux kernel that includes the unpatched iptfs_skb_add_frags function is potentially impacted. No specific version ranges are listed in the CVE data, so affected releases cannot be precisely identified.

Risk and Exploitability

The CVSS score of 9.8 indicates a critical severity, and the vulnerability can lead to a denial‑of‑service via kernel panic. The EPSS score of < 1% indicates a very low but non‑zero likelihood of exploitation. The flaw is not listed in CISA’s KEV catalog. The likely attack vector is the receipt of specially crafted network traffic that activates nested transport‑mode IPsec decryption on a packet carrying shared fragments; this inference follows from the description of the affected code path.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the patch fixing SKBFL_SHARED_FRAG propagation; the relevant commits are listed in the provided references.
  • If an immediate kernel upgrade is not possible, disable or restrict nested transport‑mode IPsec services, as the problem only surfaces when such packets are processed.
  • Continuously monitor system logs for kernel panic messages or memory corruption indicators to detect attempts to exploit the flaw.

Generated by OpenCVE AI on August 8, 2026 at 16:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-8887-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8888-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8889-1 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8887-2 Linux kernel (AWS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8888-2 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8887-3 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9003-1 Linux kernel (NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-9043-1 Linux kernel (NVIDIA) vulnerabilities
History
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'}

Type Values Removed Values Added
Weaknesses CWE-119
CWE-664
Type Values Removed Values Added
Weaknesses CWE-119
CWE-664
Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: xfrm: iptfs: propagate SKBFL_SHARED_FRAG in iptfs_skb_add_frags() When iptfs_skb_add_frags() copies frag references from the source frag walk into a new SKB, it increments the page reference count via __skb_frag_ref() but does not propagate SKBFL_SHARED_FRAG to the destination SKB's skb_shinfo->flags. If the source SKB carries shared frags (e.g. from a page-pool backed receive path), the new inner SKB will appear to ESP as having privately owned frags. A subsequent esp_input() call for a nested transport-mode SA then takes the no-COW fast path and decrypts in place, writing over pages that are still referenced by the outer IPTFS SKB. This causes kernel-visible memory corruption and can trigger a panic. All other frag-transfer helpers in the kernel (skb_try_coalesce, skb_gro_receive, __pskb_copy_fclone, skb_shift, skb_segment) correctly propagate SKBFL_SHARED_FRAG; align iptfs_skb_add_frags() with this convention by setting the flag inside the loop immediately after __skb_frag_ref() and nr_frags++, so every exit path that attaches a frag unconditionally propagates SKBFL_SHARED_FRAG.
Title xfrm: iptfs: propagate SKBFL_SHARED_FRAG in iptfs_skb_add_frags()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses
  • CWE-821

    Incorrect Synchronization

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Aug 17, 2026, 4:57 AM
Reserved
Jul 19, 2026, 3:36 PM
Status
Awaiting Analysis
Published
Aug 5, 2026, 8:16 AM
Modified
Nov 3, 2026, 6:15 PM
Severity
Public date
Aug 5, 2026, 12:00 AM