CVE-2026-46300 PUBLISHED

net: skbuff: preserve shared-frag marker during coalescing

Assigner: Linux
Reserved: 13.05.2026 Published: 23.05.2026 Updated: 23.05.2026

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

net: skbuff: preserve shared-frag marker during coalescing

skb_try_coalesce() can attach paged frags from @from to @to. If @from has SKBFL_SHARED_FRAG set, the resulting @to skb can contain the same externally-owned or page-cache-backed frags, but the shared-frag marker is currently lost.

That breaks the invariant relied on by later in-place writers. In particular, ESP input checks skb_has_shared_frag() before deciding whether an uncloned nonlinear skb can skip skb_cow_data(). If TCP receive coalescing has moved shared frags into an unmarked skb, ESP can see skb_has_shared_frag() as false and decrypt in place over page-cache backed frags.

Propagate SKBFL_SHARED_FRAG when skb_try_coalesce() transfers paged frags. The tailroom copy path does not need the marker because it copies bytes into @to's linear data rather than transferring frag descriptors.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from cef401de7be8c4e155c6746bfccf721a4fa5fab9 to 3599e6b3cc1ada96883d496a50a210d3afbb6987 (excl.)
  • affected from cef401de7be8c4e155c6746bfccf721a4fa5fab9 to 2f2b16022a2e10ca7bccfb98db5ed2ec0f72641c (excl.)
  • affected from cef401de7be8c4e155c6746bfccf721a4fa5fab9 to 9d3e5fd19fe1063bf607219e8562fbd567b8e8d5 (excl.)
  • affected from cef401de7be8c4e155c6746bfccf721a4fa5fab9 to 78bf6b6bb19541d19fbda6242e7cfe2c682763c0 (excl.)
  • affected from cef401de7be8c4e155c6746bfccf721a4fa5fab9 to 760e1addc27ba1a7beb4a0a7e8b3e9ec49e7a34e (excl.)
  • affected from cef401de7be8c4e155c6746bfccf721a4fa5fab9 to 3bd9e113d50034db99d7ef69fd8e5242d15e414a (excl.)
  • affected from cef401de7be8c4e155c6746bfccf721a4fa5fab9 to 3884358a9286b17f389a72b1426fc4547c23c111 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.9 is affected
  • unaffected from 0 to 3.9 (excl.)
  • unaffected from 5.10.257 to 5.10.* (incl.)
  • unaffected from 5.15.208 to 5.15.* (incl.)
  • unaffected from 6.1.174 to 6.1.* (incl.)
  • unaffected from 6.6.141 to 6.6.* (incl.)
  • unaffected from 6.12.91 to 6.12.* (incl.)
  • unaffected from 6.18.33 to 6.18.* (incl.)
  • unaffected from 7.0.10 to 7.0.* (incl.)

References