---
id: CVE-2026-99284
title: 'net: skbuff: propagate shared-frag marker in skb_zerocopy()'
summary: |-
  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 n…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= af2806f8f90a150160be898cd85332459c83c5cb <
    1c623e3cbf43f12dd4a72712079bfa247a9b8ba3
  - >-
    Linux >= af2806f8f90a150160be898cd85332459c83c5cb <
    d7d6ff98d5d1b400f02211f962ac32cc0020aeab
  - >-
    Linux >= af2806f8f90a150160be898cd85332459c83c5cb <
    1a9c180cd8435917b7516edfb1c9148032c28773
  - >-
    Linux >= af2806f8f90a150160be898cd85332459c83c5cb <
    79dc34beb1fdb3da79753e51e15c68591a2561fe
  - Linux 3.14
published: '2026-11-07'
updated: '2026-11-07'
sourceUpdated: '2026-11-07T20:40:33.661Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99284'
references:
  - url: 'https://git.kernel.org/stable/c/1c623e3cbf43f12dd4a72712079bfa247a9b8ba3'
  - url: 'https://git.kernel.org/stable/c/d7d6ff98d5d1b400f02211f962ac32cc0020aeab'
  - url: 'https://git.kernel.org/stable/c/1a9c180cd8435917b7516edfb1c9148032c28773'
  - url: 'https://git.kernel.org/stable/c/79dc34beb1fdb3da79753e51e15c68591a2561fe'
tags:
  - cve.org
ingestedAt: '2026-11-07T21:39:21.706Z'
---

## Overview

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.

## Affected

- `Linux >= af2806f8f90a150160be898cd85332459c83c5cb < 1c623e3cbf43f12dd4a72712079bfa247a9b8ba3`
- `Linux >= af2806f8f90a150160be898cd85332459c83c5cb < d7d6ff98d5d1b400f02211f962ac32cc0020aeab`
- `Linux >= af2806f8f90a150160be898cd85332459c83c5cb < 1a9c180cd8435917b7516edfb1c9148032c28773`
- `Linux >= af2806f8f90a150160be898cd85332459c83c5cb < 79dc34beb1fdb3da79753e51e15c68591a2561fe`
- `Linux 3.14`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
