Skip to main content

Linux Kernel EUVDEUVD-2026-108810

| CVE-2026-99016 HIGH
2026-10-23 Linux GHSA-5mv4-wx47-m6wh
7.8
CVSS 3.1 · Vendor: Linux
View

Vulnerability Assessment

Impact

Signals conflict sharply between theoretical severity and real-world exposure. The CVSS 3.1 base score is 7.8 (HIGH) with C:H/I:H/A:H, which is justified: the flaw lets an unprivileged process drive FUTEX_WAKE_OP into an atomic read-modify-write on an arbitrary kernel virtual address, with the FUTEX_OP_CMP_* result acting as a read oracle - a primitive that can support local privilege escalation and kernel memory disclosure. However, the vector is AV:L/PR:L, so this is strictly a local, already-authenticated attack, not remotely reachable. The exploitability signals are all low: EPSS is 0.21% (10th percentile), there is no CISA KEV listing (not confirmed actively exploited), and no public exploit identified at time of analysis (the only references are the upstream kernel.org fix commits, not PoC code). The vuln.today Decision label is 'this_week', consistent with a serious-but-not-emergency local kernel bug. The decisive caveat is that exploitation is gated behind a narrow platform profile - RISC-V only, with CONFIG_RISCV_ISA_SUPM, hardware pointer masking, Sv57 paging and PMLEN=16 so tag bits overlap canonical kernel-address bits. This is a genuine kernel-memory-corruption primitive worth patching on the prescribed timeline, but the low EPSS and the RISC-V-specific, non-default configuration mean this is far from a widespread-exploitation priority; treat it as scheduled hardening for affected RISC-V fleets rather than an emergency.

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 24, 2026

The RISC-V futex implementation in the Linux kernel fails to strip address tags from user-supplied pointers before executing atomic operations, allowing a local unprivileged process to make FUTEX_WAKE_OP write to an arbitrary kernel address. Affected systems must run RISC-V with CONFIG_RISCV_ISA_SUPM, have the tagged-address ABI enabled via PR_SET_TAGGED_ADDR_CTRL with a non-zero PMLEN, and use Sv57 paging with PMLEN=16 so that tag bits overlap canonical kernel address bits - on such configurations the flaw yields both kernel memory corruption and, through the FUTEX_OP_CMP_* result, a read oracle that discloses kernel memory. The vendor has published fixes in Linux 6.18.57, 7.2.11 and 7.3 (commits 8e48d8d51ab37b7decfbff3e2844e027a52ad6ea, 405290be962b32eec842776fbe3bdf81f15b1676 and 2e5c80bbc062a8dda33e687ebf7be8f074ee4f7d); no public exploit has been identified at time of analysis and EPSS is low at 0.21% (10th percentile), reflecting the narrow hardware/configuration prerequisites rather than the severity of the outcome.

RemediationAI

Vendor-released patch: Linux 6.18.57, 7.2.11 and 7.3, delivered by upstream commits 8e48d8d51ab37b7decfbff3e2844e027a52ad6ea, 405290be962b32eec842776fbe3bdf81f15b1676 and 2e5c80bbc062a8dda33e687ebf7be8f074ee4f7d; apply the corresponding stable or distribution backport for any kernel derived from the 2e1743085887ba3f553c2bb472a75a3ff744b242 baseline. Patch status should be confirmed with Oracle or Canonical for their RISC-V kernel builds, since the CPE data covers the Linux kernel generically. Where an immediate update is not possible, the exposed configuration itself is the lever: RISC-V systems that do not need the tagged-address ABI can avoid the vulnerable path by not having processes call prctl(PR_SET_TAGGED_ADDR_CTRL) with a non-zero PMLEN, and configurations that do not rely on Sv57 with PMLEN=16 do not exhibit the tag/canonical-address overlap - both reduce exposure but do not repair the missing untag step and depend on no other code path enabling the ABI. The upstream fix is the only complete resolution; the vulnerability requires local code execution as an unprivileged user, so restricting interactive and service-level shell access to trusted workloads limits reachability. Review the kernel.org commit links and the NVD record at https://nvd.nist.gov/vuln/detail/CVE-2026-99016 for the authoritative patch set.

Affected VersionsENISA

Linux patch: 7.3
Linux 2e1743085887ba3f553c2bb472a75a3ff744b242 <8e48d8d51ab37b7decfbff3e2844e027a52ad6ea
Linux patch: 0
Linux patch: 6.18.57
Linux 2e1743085887ba3f553c2bb472a75a3ff744b242 <405290be962b32eec842776fbe3bdf81f15b1676
Linux 6.13
Linux patch: 7.2.11
Linux 2e1743085887ba3f553c2bb472a75a3ff744b242 <2e5c80bbc062a8dda33e687ebf7be8f074ee4f7d

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 bug sits in the RISC-V architecture glue for futex operations: arch_futex_atomic_op_inuser() and futex_atomic_cmpxchg_inatomic() feed the raw uaddr into inline assembly amoswap/amoadd/lr.w+sc.w through the "+m" (*uaddr) memory operand. The generic access_ok() check, by contrast, validates untagged_addr(uaddr), so a pointer whose top PMLEN bits carry a tag can pass validation while the atomic still targets the tagged address. Supervisor-mode data accesses are not subject to U-mode pointer masking (that behaviour is controlled by menvcfg.PMM, which the kernel does not set), so the hardware does not strip the tag on the kernel's behalf. Under Sv57 with PMLEN=16 the tag bits overlap the canonical-address bits, meaning a tagged pointer can designate a canonical kernel virtual address in the linear map whose untagged form is still a valid user address - turning a validated user address into an unchecked kernel target. The referenced fix mirrors what get_user()/put_user()/raw_copy_{to,from}_user() already do: untag the pointer after access_ok() so the atomic operates on exactly the address that was validated. The trigger requires the tagged-address ABI to be enabled by the process itself and the specific Sv57/PMLEN=16 geometry; the CWE class is not provided in the source data.

Know when Canonical gets its next vulnerability

  • 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

Primary rating from Vendor (Linux) · only source for this CVE.

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 24, 2026 - 14:22 NVD
7.8 (HIGH)
Patch available
Oct 23, 2026 - 13:17 EUVD
CVE Published
Oct 23, 2026 - 12:20 cve.org
HIGH 7.8
CVE Published
Oct 23, 2026 - 12:20 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

riscv: futex: untag the user pointer before the atomic access

access_ok() checks untagged_addr(uaddr), but arch_futex_atomic_op_inuser() and futex_atomic_cmpxchg_inatomic() hand the raw uaddr to the inline asm amoswap/amoadd/.../lr.w+sc.w through the "+m" (*uaddr) operand. When the tagged address ABI is enabled (CONFIG_RISCV_ISA_SUPM, prctl PR_SET_TAGGED_ADDR_CTRL with PMLEN != 0), those two addresses differ: a user pointer whose top PMLEN bits hold a tag passes access_ok() after untagging, but the atomic is then performed on the still-tagged raw address.

Supervisor-mode data accesses are not subject to the U-mode pointer masking (that is governed by menvcfg.PMM, which the kernel does not set), so hardware does not strip the tag for the kernel's own access. With Sv57 and PMLEN=16 the tag bits overlap the canonical-address bits, so a tagged pointer can name a canonical kernel virtual address (e.g. in the linear map) whose untagged form is a valid user address. An unprivileged process can thus make FUTEX_WAKE_OP perform an atomic read-modify-write on an arbitrary kernel address, with the matching FUTEX_OP_CMP_* result serving as a read oracle.

get_user()/put_user()/raw_copy_{to,from}_user() already untag the pointer after the access_ok() check; do the same in the futex helpers so the atomic operates on the address that was actually validated.

Executive ViewAI

Why It Matters

A high-severity kernel vulnerability (CVE-2026-99016) affects Linux systems running on RISC-V hardware with specific optional memory-tagging features enabled (CONFIG_RISCV_ISA_SUPM and non-zero PMLEN). If exploited by a local attacker, it could allow privilege escalation and kernel memory disclosure, compromising system integrity and confidentiality. However, the configuration requirements are narrow, and no public exploit exists, so immediate risk to the organization is limited to those specific deployments.

Business Impact: Medium
Compensating Controls

Apply vendor patch. Additionally, if patching is delayed, disable the tagged-address ABI (PR_SET_TAGGED_ADDR_CTRL) for untrusted processes or restrict local access to vulnerable systems.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

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.

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2014-6271 CRITICAL POC
9.8 Sep 24

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2016-3714 HIGH POC
8.4 May 05

The (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.

CVE-2017-12617 HIGH POC
8.1 Oct 04

When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT

CVE-2016-8735 CRITICAL POC
9.8 Apr 06

Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8

CVE-2014-7169 CRITICAL POC
9.8 Sep 25

GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of

CVE-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2016-5195 HIGH POC
7.0 Nov 10

Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by lev

CVE-2013-2423 LOW POC
3.7 Apr 17

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 17 and earlier, and

CVE-2023-4911 HIGH POC
7.8 Oct 03

Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected

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