CVE-2026-99284 PUBLISHED

net: skbuff: propagate shared-frag marker in skb_zerocopy()

Assigner: Linux
Reserved: 25.09.2026 Published: 07.11.2026 Updated: 07.11.2026

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

net: skbuff: propagate shared-frag marker in skb_zerocopy()

skb_zerocopy() moves frag descriptors from @from into @to and takes a reference on each frag, but it does not copy skb_shinfo(from)->flags into skb_shinfo(to)->flags. A destination skb holding the same page-cache backed frags as the source therefore reports skb_has_shared_frag() as false.

That breaks the invariant relied on by later in-place writers. ESP input checks skb_has_shared_frag() before deciding whether an uncloned nonlinear skb can skip skb_cow_data(); with the marker lost, an skb that skb_zerocopy() built for nfnetlink_queue or for an openvswitch upcall is decrypted in place, letting an unprivileged user write into the page cache of a root-owned read-only file.

Propagate SKBFL_SHARED_FRAG when frag descriptors are copied, as done for the other frag-transfer helpers.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from af2806f8f90a150160be898cd85332459c83c5cb to 1c623e3cbf43f12dd4a72712079bfa247a9b8ba3 (excl.)
  • affected from af2806f8f90a150160be898cd85332459c83c5cb to d7d6ff98d5d1b400f02211f962ac32cc0020aeab (excl.)
  • affected from af2806f8f90a150160be898cd85332459c83c5cb to 1a9c180cd8435917b7516edfb1c9148032c28773 (excl.)
  • affected from af2806f8f90a150160be898cd85332459c83c5cb to 79dc34beb1fdb3da79753e51e15c68591a2561fe (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.14 is affected
  • unaffected from 0 to 3.14 (excl.)
  • unaffected from 6.18.61 to 6.18.* (incl.)
  • unaffected from 7.2.15 to 7.2.* (incl.)
  • unaffected from 7.3.2 to 7.3.* (incl.)
  • unaffected from 7.4-rc1 to * (incl.)

References