KernelScan.io

CRITICAL Introduced in 6.14

xfrm iptfs SharedFrag Corruption

CVE-2026-53363

CVSS 9.3 / 10.0 KernelScan AI

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L

01

In the Linux kernel, the following vulnerability has been resolved: xfrm: iptfs: preserve shared-frag marker in iptfs_consume_frags() iptfs_consume_frags() transfers paged fragments from one socket buffer to another but fails to propagate the SKBFL_SHARED_FRAG flag. This is the same class of bug that was fixed in skb_try_coalesce() for CVE-2026-46300: when fragments backed by read-only page-cache pages are merged, the marker indicating their shared nature must be preserved so that ESP can decide correctly whether in-place encryption is safe. Apply the same two-line fix used in skb_try_coalesce() to iptfs_consume_frags().

02

Engine v0.4.0

Risk summary

When IP-TFS aggregates inner packets for ESP encryption, iptfs_consume_frags() fails to propagate the SKBFL_SHARED_FRAG flag while transferring paged fragments between socket buffers. This causes ESP to incorrectly treat read-only page-cache-backed fragments as writable, performing in-place encryption on shared pages. The result is attacker-reachable memory corruption of page-cache contents, which violates both confidentiality and integrity and may affect other processes sharing those pages.

Affectednet/xfrm/xfrm_iptfs.c (xfrm IP-TFS)

Vulnerability analysis

The root cause is in iptfs_consume_frags() in net/xfrm/xfrm_iptfs.c: when paged fragments are moved from one skb to another, the code copies the frags array and increments nr_frags but does not propagate the SKBFL_SHARED_FRAG flag from the source skb_shared_info to the destination. SKBFL_SHARED_FRAG marks fragments backed by read-only page-cache pages that must not be modified in place. Without this flag on the destination skb, the ESP layer may perform in-place encryption directly on those shared pages, corrupting page-cache data. Because this is attacker-reachable memory corruption, confidentiality impact is rated High per industry convention. The fix adds two lines: if the source has any fragments, OR the SKBFL_SHARED_FRAG bit from the source flags into the destination flags. The attack surface is the IPTFS/ESP VPN path — an attacker who can influence which inner packets are aggregated (e.g., by sending crafted traffic through or toward an IPTFS tunnel) can trigger the corruption. This requires an active IPTFS tunnel to be configured, which is a VPN endpoint scenario.

03

BranchIntroducedFixed inPatch commit
6.186.146.18.36dd66f7f6e360
7.06.147.0.13c885d111ed9f
mainline6.147.1e9096a5a170e