CVE-2026-64566 PUBLISHED

xfrm: iptfs: propagate SKBFL_SHARED_FRAG in iptfs_skb_add_frags()

Assigner: Linux
Reserved: 19.07.2026 Published: 05.08.2026 Updated: 05.08.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 5f2b6a9095743a6bf1f34c43c4fe78fa8bdf5ad7 to d8aaf06b29f5a0b6186cf68d21c7d63678ee3891 (excl.)
  • affected from 5f2b6a9095743a6bf1f34c43c4fe78fa8bdf5ad7 to ffd64e0717efd83fbf3396ab4e5ac6d795dac4d0 (excl.)
  • affected from 5f2b6a9095743a6bf1f34c43c4fe78fa8bdf5ad7 to 430ea57d6daf765e88f90046afbfd1e071cb7200 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.14 is affected
  • unaffected from 0 to 6.14 (excl.)
  • unaffected from 6.18.42 to 6.18.* (incl.)
  • unaffected from 7.1.6 to 7.1.* (incl.)
  • unaffected from 7.2-rc4 to * (incl.)

References