In the Linux kernel, the following vulnerability has been resolved: net: skbuff: propagate...
🔗 CVE IDs covered (1)
📋 Description
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.
🔗 References (6)
- https://nvd.nist.gov/vuln/detail/CVE-2026-99284
- https://git.kernel.org/stable/c/1a9c180cd8435917b7516edfb1c9148032c28773
- https://git.kernel.org/stable/c/1c623e3cbf43f12dd4a72712079bfa247a9b8ba3
- https://git.kernel.org/stable/c/79dc34beb1fdb3da79753e51e15c68591a2561fe
- https://git.kernel.org/stable/c/d7d6ff98d5d1b400f02211f962ac32cc0020aeab
- https://github.com/advisories/GHSA-j3jv-p835-c5gh