Skip to main content

Linux Kernel EUVDEUVD-2026-93353

| CVE-2026-98368 HIGH
2026-10-06 Linux GHSA-jw2q-x793-gp2m
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain local unprivileged account
  2. Delivery
    Configure/use IPsec ESP transform with MSG_ZEROCOPY send
  3. Exploit
    Force out-of-place ESP output path
  4. Execution
    Trigger unbalanced refcount on pinned frags
  5. Persist
    Use-after-free / page leak in kernel
  6. Impact
    Kernel crash or memory corruption for escalation

Vulnerability Assessment

Exploitation Conditions

Requires a Linux host using IPsec ESP where the out-of-place output path is taken (esp->inplace == false) AND the skb carries zerocopy managed frags (SKBFL_MANAGED_FRAG_REFS), i.e. a local sender using MSG_ZEROCOPY whose payload pages are ubuf-owned/GUP-pinned. Limiting factors: the attacker must have a local account and the ability to send over an ESP transform (PR:L, AV:L), and both the ESP out-of-place branch and zerocopy frag ownership must coincide - on hosts without IPsec ESP configured, or without zerocopy sends on that path, the frag-mutation code is not reached. No remote/network-facing exploitation and no cross-host reach.

Impact

Signals are broadly consistent toward a moderate, not urgent, priority. The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 7.8) correctly reflects a local, low-privilege kernel memory-safety flaw: a use-after-free of GUP-pinned zerocopy pages plus a page-refcount leak on the ESP out-of-place output path. The attack vector is LOCAL, not network - despite this being an IPsec/ESP networking bug, triggering it requires a local sender emitting MSG_ZEROCOPY traffic through an ESP transform, so it is not remotely reachable by an off-host attacker. EPSS is low (0.17%, 6th percentile) and the CVE is NOT in CISA KEV, with no public exploit identified, which aligns: this is a hard-to-weaponize race/refcount bug gated on a specific kernel configuration. The main real-world risk is local privilege escalation or kernel crash on hosts that both run IPsec ESP and allow untrusted local users to drive zerocopy sends - a narrow combination. Note one tension to verify: the input Tags label this 'Information Disclosure', but the described primary impact is use-after-free/memory corruption and a page-rate memory leak (DoS), not confidentiality disclosure; treat the tag as imprecise. Overall: a legitimate high-CVSS local kernel bug worth patching in the normal stable-kernel cadence, but not an emergency given low exploitation probability, no KEV, no POC, and local-only reach.

Exploit ScenarioDerived

A local, low-privileged user on a Linux host configured with IPsec ESP sends traffic over a socket using MSG_ZEROCOPY so the skb carries managed (ubuf-owned) frags, forcing ESP down the out-of-place output path. ESP mutates the frag array without downgrading the managed frags, dropping references on still-pinned zerocopy pages (use-after-free) or leaking the destination page, which can crash the kernel or corrupt memory for potential privilege escalation. No public exploit or POC has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

Use-after-free of GUP-pinned zerocopy page buffers in the Linux kernel's IPsec ESP out-of-place output path lets a local, authenticated user (CVSS:3.1/AV:L/AC:L/PR:L/UI:N) who can send MSG_ZEROCOPY traffic over an ESP transform corrupt memory, potentially achieving privilege escalation (C:H/I:H/A:H), while the same code path simultaneously leaks an x->xfrag page per packet. Exploitation requires a host with IPsec ESP configured where esp->inplace == false and where the transmitted skb carries SKBFL_MANAGED_FRAG_REFS, so hosts without ESP or without zerocopy sends on that path do not reach the vulnerable frag mutation. No public exploit has been identified at time of analysis, the issue is not in CISA KEV, and the EPSS score is low (0.17%, 6th percentile), consistent with a moderate-priority local issue; vendor-released patches exist in 6.1.189, 6.6.158, 6.12.112, 6.18.54, 7.2.8, and 7.3-rc4.

RemediationAI

Apply the vendor-released Linux kernel patches: upgrade to 6.1.189, 6.6.158, 6.12.112, 6.18.54, 7.2.8, or 7.3-rc4 (or later), which backport the fix that calls skb_zcopy_downgrade_managed() before ESP mutates the frag array; downstream distributions should track the corresponding stable commit links (e.g. https://git.kernel.org/stable/c/2359264f377cdbdef2d95868cc8fb572949e48d3, .../69a768c12398cada8528080332c822623fa7064d, and the other listed stable hashes). Since exploitation requires a local account able to send over an ESP transform, the practical risk is limited to multi-user hosts that combine IPsec ESP with zerocopy-capable senders, but patching is the only complete fix because the reference-counting imbalance is internal to the kernel and cannot be configured away from user space with certainty. Until patching is possible, reduce exposure by not running IPsec ESP in a configuration that takes the out-of-place output path on hosts with untrusted local users, and by disabling or avoiding application use of MSG_ZEROCOPY on traffic that traverses ESP (for example via application configuration or by fronting the sender with a proxy that performs normal copies); the trade-off is lower transmit throughput and higher CPU/memory-bandwidth cost on those flows. Restricting local account access to hosts with ESP tunnels and monitoring for kernel memory corruption or unreclaimable page growth from the x->xfrag leak provide only partial compensating visibility, since a successful use-after-free may leave no log signature. Do not rely on network-perimeter controls - this defect is reachable only from local senders and is not remotely triggerable.

Affected VersionsENISA

Linux 753f1ca4e1e50248a1b760c9774d6d6b354562cc <0d0845ee61c5df47cc68bc446501f48f71e8dcc6
Linux patch: 7.2.8
Linux 753f1ca4e1e50248a1b760c9774d6d6b354562cc <f89416eb3db151170a6f3c6dfc5239d26cdce4d2
Linux 753f1ca4e1e50248a1b760c9774d6d6b354562cc <6cab554f2c0f28773f712ed3a5479103f42ce844
Linux patch: 6.18.54
Linux 753f1ca4e1e50248a1b760c9774d6d6b354562cc <2359264f377cdbdef2d95868cc8fb572949e48d3
Linux patch: 6.1.189
Linux patch: 7.3-rc4
Linux patch: 0
Linux 753f1ca4e1e50248a1b760c9774d6d6b354562cc <6508304ac2c8cdafca2f4ab915df8c707893e134
Linux patch: 6.6.158
Linux patch: 6.12.112
Linux 6.0
Linux 753f1ca4e1e50248a1b760c9774d6d6b354562cc <69a768c12398cada8528080332c822623fa7064d

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

IPsec ESP's out-of-place output path (esp->inplace == false) rewrites the skb fragment array: esp_output_head() appends a trailer frag and esp_output_tail() replaces the frags with a destination page, both obtained via get_page(). When the skb instead carries zerocopy managed frags (SKBFL_MANAGED_FRAG_REFS), the payload frags are owned by the ubuf/GUP pin and must not be individually referenced or unreferenced - the managed-frag contract assumes skb_release_data() will skip per-frag unrefs. ESP violated that invariant in two directions: esp_ssg_unref() walks the source scatterlist and drops a page reference for every entry, including the ubuf-owned payload frags, pushing their refcount below the GUP pin bias while the pages remain pinned, which is a use-after-free of the zerocopy pages; and esp_output_tail() installs its destination page as frag 0 with get_page() but leaves SKBFL_MANAGED_FRAG_REFS set, so skb_release_data() takes the skip_unref branch and never releases that reference, leaking the x->xfrag page at packet (alloc/free) rate. The upstream fix follows the pattern already used by every other frag-mutating site - __ip_append_data(), __ip6_append_data(), and tcp_sendmsg_locked() - by calling skb_zcopy_downgrade_managed() before ESP touches the frag array, which takes a real reference on each existing frag and clears the managed flag, so the per-frag unref in esp_ssg_unref() and the release in skb_release_data() are balanced and no mixed-ownership frag array is left behind. No CWE was supplied; the root cause class is improper reference counting / use-after-free combined with a resource leak. The CPE data (cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*) covers the Linux kernel broadly, with the vulnerable range beginning at commit 753f1ca4e1e50248a1b760c9774d6d6b354562cc.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Local low-priv sender drives the ESP zerocopy path (AV:L/PR:L); the refcount imbalance is reliably triggerable (AC:L) and a kernel UAF yields full C/I/A impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Oct 07, 2026 - 07:22 NVD
7.8 (HIGH)
Patch available
Oct 06, 2026 - 10:02 EUVD
CVE Published
Oct 06, 2026 - 08:46 cve.org
HIGH 7.8
CVE Published
Oct 06, 2026 - 08:46 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

esp: downgrade zerocopy managed frags before mutating skb frags

On the out-of-place output path (esp->inplace == false) ESP rewrites the skb frag array: esp_output_head() appends a trailer frag and esp_output_tail() replaces the frags with a destination page, both referenced with get_page().

When the skb carries zerocopy managed frags (SKBFL_MANAGED_FRAG_REFS) the payload frags are owned by the ubuf and must not be referenced or unreferenced individually, but ESP mutates the frag array without ever downgrading the skb. This breaks the managed-frag invariant two ways:

  • esp_ssg_unref() walks the source scatterlist and drops a page

reference for every frag, including the ubuf-owned payload frags, pushing their refcount below the GUP pin bias while the pages are still pinned, i.e. a use-after-free of the zerocopy pages;

  • esp_output_tail() installs its destination page as frag 0 with

get_page() but leaves SKBFL_MANAGED_FRAG_REFS set, so skb_release_data() takes the skip_unref branch and never drops that reference, leaking the x->xfrag page at packet rate.

Fix this the way every other frag-mutating site does (__ip_append_data(), __ip6_append_data(), tcp_sendmsg_locked()) and call skb_zcopy_downgrade_managed() before ESP touches the frag array: it takes a real reference on each existing frag and clears SKBFL_MANAGED_FRAG_REFS, so the per-frag unref in esp_ssg_unref() and the frag release in skb_release_data() are both balanced and no mixed-ownership frag array is left behind.

Executive ViewAI

Why It Matters

A high-severity vulnerability (CVE-2026-98368) in the Linux kernel allows a local authenticated user to escalate privileges on systems configured with IPsec ESP and zerocopy network traffic, potentially leading to full system compromise. Organizations running affected Linux versions in such configurations face risk of unauthorized access to sensitive data and disruption of critical services, though no public exploit has been identified and the EPSS score is low. Leadership should prioritize patching to mitigate potential insider threats or post-compromise escalation.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Ubiquitous
Linux kernel is universally deployed; IPsec ESP zerocopy path is narrow
Threat Intel
1
1 sources
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy