Skip to main content

Linux Kernel EUVDEUVD-2026-93204

| CVE-2026-98276 HIGH
2026-10-06 Linux GHSA-qgp7-2j87-wmwc
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Gain local unprivileged shell
  2. Delivery
    Create UDP socket
  3. Exploit
    Race SIOCGSTAMPNS_NEW ioctl against bind()
  4. Execution
    Clear SOCK_RCU_FREE via lost sk_flags update
  5. Persist
    Trigger premature free during RCU lookup
  6. Impact
    Corrupt freed socket memory for escalation

Vulnerability Assessment

Exploitation Conditions

Requires a local, authenticated unprivileged user (CVSS PR:L) able to execute code and make syscalls on the target. The specific trigger is a SIOCGSTAMPNS_NEW (socket timestamp) ioctl on a UDP socket issued concurrently with a bind() on the same socket, so that both threads perform a racing non-atomic read-modify-write on sk->sk_flags and the SOCK_RCU_FREE bit is dropped. LIMITING FACTORS: exploitation is local-only (AV:L, no remote vector), needs the attacker to win a narrow timing window between the two sk_flags updates (making reliable exploitation difficult and non-deterministic), and affects unpatched kernels in the listed version ranges; no special non-default configuration is required since the timestamp ioctl path is standard kernel functionality.

Impact

This is a local-privilege memory-corruption flaw (UAF) in the Linux kernel networking stack, confirmed by the vendor-provided CVSS vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H and the KASAN slab-use-after-free trace in the description. Risk signals are mixed: the CVSS base score of 7.8 (HIGH) reflects full C/I/A impact from a kernel UAF, but the exploitation probability is low - EPSS is 0.18% (7th percentile) - and the CVE is NOT on the CISA KEV list, so there is no evidence of active exploitation. No public exploit code is flagged in the input (POC not provided), though the description references a reproducer ('Comm: exploit') written by the reporters, indicating a working private trigger exists. The real-world difficulty is higher than AC:L suggests: successful exploitation requires winning a tight read-modify-write race between a SIOCGSTAMPNS_NEW ioctl and bind() on a UDP socket, which is inherently non-deterministic. CONFLICT TO VERIFY: the vendor marks AC:L, but the bug is fundamentally a race condition whose win requires precise timing, which argues for higher attack complexity. Net assessment: a genuine kernel UAF worth patching on multi-tenant and untrusted-local-user systems, but not an emergency for most single-user or well-isolated deployments given low EPSS, no KEV, and the local-only attack vector.

Exploit ScenarioDerived

A local unprivileged user (UID 1000 in the reported trace) runs a program that repeatedly issues a SIOCGSTAMPNS_NEW ioctl on a UDP socket while concurrently calling bind(), racing the two non-atomic read-modify-write updates to sk->sk_flags so that the SOCK_RCU_FREE bit set by udp_lib_get_port() is lost. The socket is then freed immediately instead of after an RCU grace period while still reachable by lockless UDP receive lookups, yielding a slab-use-after-free that can crash the kernel or be groomed toward privilege escalation. The reporters demonstrated a working trigger, but no public exploit code is provided in the input.

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

A race condition in the Linux kernel networking stack (sock_gettstamp()) allows a local, authenticated unprivileged user to trigger a slab-use-after-free in the UDP receive path by issuing a SIOCGSTAMPNS_NEW socket-timestamp ioctl on a UDP socket concurrently with a bind() on that same socket. Because sock_enable_timestamp() modifies sk->sk_flags with non-atomic bit operations while the SIOCGSTAMPNS_NEW path does not hold the socket lock, the concurrent read-modify-write can silently drop the SOCK_RCU_FREE bit that udp_lib_get_port() had just set, causing sk_destruct() to free the socket immediately instead of after an RCU grace period while lockless receive lookups still hold a pointer to it. Exploitation is local-only and requires winning a narrow timing window (our assessment rates it AV:L/AC:H/PR:L, versus the vendor-published CVSS 3.1 score of 7.8 with AC:L), EPSS is low at 0.18% (7th percentile), there is no KEV listing and no public exploit identified at time of analysis, and vendor-released patches exist for the affected stable branches.

RemediationAI

Vendor-released patch: upgrade to the first fixed stable release for your branch - 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.54, or 7.2.8 (7.3-rc4 on the mainline RC line); the corresponding upstream commits are listed under the git.kernel.org/stable references (for example https://git.kernel.org/stable/c/18899e2e4023369a8f7739c2255a59a9748d8d17) and the advisory is at https://nvd.nist.gov/vuln/detail/CVE-2026-98276. If immediate rebasing is not possible, compensating controls must target the trigger: use a seccomp filter or LSM policy to deny SIOCGSTAMPNS/SIOCGSTAMPNS_NEW (and the older SIOCGSTAMP/SIOCGSTAMPNS) ioctls for untrusted or containerized workloads - the trade-off is that legitimate applications relying on socket packet-timestamping (latency/monitoring tools, some network daemons) will fail with EPERM, so scope the rule to low-privilege users rather than the whole host. Where available, apply the distributor's live-patch/kpatch stream for this commit, and keep local-user attack surface minimized by disabling unprivileged user namespaces and restricting who can open UDP sockets and run arbitrary code, since exploitation requires only PR:L local access plus a timing race and no special kernel configuration. Note that this fix only covers the sock_gettstamp() path; the identical unlocked sk_flags pattern in sk_set_memalloc()/sk_clear_memalloc() used by nbd, iscsi_tcp, nvme-tcp, sunrpc and wireguard is explicitly deferred to a separate patch, so operators of those subsystems should track follow-up kernel updates rather than assume CVE-2026-98276's fix closes every variant of the race.

Affected VersionsENISA

Linux patch: 5.15.222
Linux patch: 5.10.271
Linux 2.6.12
Linux patch: 0
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <899650bbf985b7bfd2a7b808357df9b16e6d6959
Linux patch: 6.18.54
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <88c804847dd87dc613b771b392ccecdb94725032
Linux patch: 6.6.158
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <9ed55f3dbef4f4adfe65eb03b0c35c53229a8490
Linux patch: 7.2.8
Linux patch: 7.3-rc4
Linux patch: 6.12.112
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <3b12d3967e96f1b7b977d9fc352ae29a1b299a82
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <17b2a1eb97fdb2a2cbaeab3b146b26797ea9311f
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <18899e2e4023369a8f7739c2255a59a9748d8d17
Linux patch: 6.1.189
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <d9f96bc2d822501f84d1caa6275a2c6b316ca2c4
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <1f73253add8365d0dad0a4f421acaa8c21d20cef

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

The flaw sits in the core socket layer. sk->sk_flags is documented to be modified only while holding the socket lock, because sock_set_flag()/sock_reset_flag() are implemented with the non-atomic __set_bit()/__clear_bit() helpers. sock_gettstamp(), reached from the SIOCGSTAMPNS_NEW ioctl via the socket timestamping path, was one of the last syscall-reachable places that changed an sk_flags bit (SOCK_TIMESTAMP through sock_enable_timestamp()) without owning that lock. The description shows the classic lost-update interleaving: CPU 0 in bind() reads sk_flags = F, computes F | SOCK_RCU_FREE and stores it, then calls sk_add_node_rcu(); CPU 1 concurrently reads the same F, computes F | SOCK_TIMESTAMP and stores it, overwriting the SOCK_RCU_FREE bit. With SOCK_RCU_FREE cleared, sk_destruct() releases the socket immediately rather than after an RCU grace period, while the lockless UDP receive path (udp_queue_rcv_one_skb -> ipv4_pktinfo_prepare) still dereferences the socket, producing the reported KASAN slab-use-after-free (8-byte read in ipv4_pktinfo_prepare). This is a concurrency defect (race condition on a shared bit word leading to a use-after-free), affecting UDP sockets, and it is reachable with standard, non-privileged kernel functionality with no special configuration. The upstream fix takes the socket lock only when SOCK_TIMESTAMP actually has to be set, preserving the lockless fast path; the description explicitly notes that sk_set_memalloc()/sk_clear_memalloc() have the same unlocked sk_flags pattern, but their callers (nbd, iscsi_tcp, nvme-tcp, sunrpc, wireguard) require a separate audit and patch, so related races in those subsystems are not addressed by this CVE's fix. Affected CPE data identifies the generic Linux kernel (cpe:2.3:a:linux:linux) spanning from the initial git import commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (and older 2.6.12-era kernels) through the patched stable releases.

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.0 HIGH

Local unprivileged user can trigger it (AV:L/PR:L), but success depends on winning a tight sk_flags race, so AC:H; a kernel UAF yields full C/I/A impact.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:P/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:45 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 06, 2026 - 08:45 cve.org
HIGH 7.8

DescriptionCVE.org

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

net: lock the socket in sock_gettstamp()

sk->sk_flags must only be changed while holding the socket lock, because sock_set_flag() and sock_reset_flag() use non atomic operations (__set_bit() and __clear_bit()).

sock_gettstamp() is one of the last places where a bit of sk->sk_flags is changed from a syscall without owning the socket lock, through sock_enable_timestamp(sk, SOCK_TIMESTAMP).

sk_set_memalloc() and sk_clear_memalloc() also change sk->sk_flags without the socket lock, but their callers (nbd, iscsi_tcp, nvme-tcp, sunrpc, wireguard) need a careful audit, this will be addressed in a separate patch.

Jungwoo Lee and Wongi Lee reported an UDP socket use-after-free caused by this bug: a SIOCGSTAMPNS_NEW ioctl racing with bind() can cancel the SOCK_RCU_FREE bit that udp_lib_get_port() just set, because both threads perform a read-modify-write on the same word.

CPU 0 (bind) CPU 1 (SIOCGSTAMPNS_NEW) -------------------------------- ---------------------------- read sk_flags = F read sk_flags = F compute F | BIT(SOCK_RCU_FREE) compute F | BIT(SOCK_TIMESTAMP) store F | BIT(SOCK_RCU_FREE) sk_add_node_rcu(sk, ...) store F | BIT(SOCK_TIMESTAMP)

After the lost update, SOCK_RCU_FREE is clear while the socket is visible to lockless UDP receive lookups. sk_destruct() then frees the socket immediately instead of waiting for a RCU grace period, while the receive path still holds a reference-less pointer to it:

BUG: KASAN: slab-use-after-free in ipv4_pktinfo_prepare+0x30/0x410 Read of size 8 at addr ffff888008806610 by task exploit/207 CPU: 0 UID: 1000 PID: 207 Comm: exploit Not tainted 6.12.95+ #1 ipv4_pktinfo_prepare+0x30/0x410 udp_queue_rcv_one_skb+0x51c/0x1180 udp_unicast_rcv_skb+0x109/0x350 ip_protocol_deliver_rcu+0x14b/0x310 ip_local_deliver_finish+0x29d/0x390 ip_local_deliver+0x24d/0x2a0

Only grab the socket lock when SOCK_TIMESTAMP has to be set, to keep the common case lockless.

Executive ViewAI

Why It Matters

A use-after-free flaw in the Linux kernel's UDP networking path lets an authenticated local user escalate to kernel-level privileges on affected systems, potentially yielding full control of the host. This matters most for multi-tenant platforms, container hosts, and any server where an attacker could first obtain a low-privileged local foothold, because that foothold can be converted into root-level compromise. Leadership should prioritize remediation of unpatched Linux fleets given the kernel-level impact and the widespread presence of Linux across infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Ubiquitous
core Linux kernel networking code, present across virtually all deployments
Data Quality
4 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
Scheduled
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