CVE-2026-64566: xfrm: iptfs: propagate SKBFL_SHARED_FRAG in iptfs_skb_add_frags()
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026080506-CVE-2026-64566-e654@gregkh> |
From: Greg Kroah-Hartman <[email protected]> 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. The Linux kernel CVE team has assigned CVE-2026-64566 to this issue. Affected and fixed versions =========================== Issue introduced in 6.14 with commit 5f2b6a9095743a6bf1f34c43c4fe78fa8bdf5ad7 and fixed in 6.18.42 with commit d8aaf06b29f5a0b6186cf68d21c7d63678ee3891 Issue introduced in 6.14 with commit 5f2b6a9095743a6bf1f34c43c4fe78fa8bdf5ad7 and fixed in 7.1.6 with commit ffd64e0717efd83fbf3396ab4e5ac6d795dac4d0 Issue introduced in 6.14 with commit 5f2b6a9095743a6bf1f34c43c4fe78fa8bdf5ad7 and fixed in 7.2-rc4 with commit 430ea57d6daf765e88f90046afbfd1e071cb7200 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-64566 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/xfrm/xfrm_iptfs.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/d8aaf06b29f5a0b6186cf68d21c7d63678ee3891 https://git.kernel.org/stable/c/ffd64e0717efd83fbf3396ab4e5ac6d795dac4d0 https://git.kernel.org/stable/c/430ea57d6daf765e88f90046afbfd1e071cb7200