Read the docs
TI-2026-86633 Aliases CVE-2026-99284GHSA-j3jv-p835-c5gh

Linux kernel skb_zerocopy() drops shared-fragment marker

Priority LOW 38Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from CNA.

Summary

The Linux kernel from 3.14 is affected. skb_zerocopy() copies frag descriptors without the shared-fragment flag, so a destination skb holding page-cache backed frags reports skb_has_shared_frag() as false. ESP input then decrypts such an skb in place, which lets an unprivileged user write into the page cache of a root-owned read-only file.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Description from the CNA

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.

Why it matters now

Fix Fixed Linux (Linux): 6.18.61, 7.2.15, 7.3.2 +1

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux3.14 and later6.18.61, 7.2.15, 7.3.2, 7.4-rc1Patch availableCNA
  • Linux VendorLinux Affected 3.14 and later Fixed in 6.18.61, 7.2.15, 7.3.2, 7.4-rc1 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*——Linux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions — — ·Linux

Remediation

The fixed Linux kernel versions are 6.18.61, 7.2.15, 7.3.2 and 7.4-rc1.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

  • Fix · CNA Linux (Linux) Fixed in 6.18.61, 7.2.15, 7.3.2, 7.4-rc1

Timeline

  1. 2026-11-07 Threatist record created from CVE-2026-99284
  2. 2026-11-07 Alias added: GHSA-j3jv-p835-c5gh

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
See all 21727 →

Sources