Skip to main content

Linux Kernel EUVDEUVD-2026-45655

| CVE-2026-64082 HIGH
Use of Uninitialized Resource (CWE-908)
2026-07-19 Linux GHSA-87cj-725f-6hr5
7.8
CVSS 3.1 · Vendor: Linux
Share

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
6.6 MEDIUM

Local low-priv compat process leaks kernel stack into registers (C:H); integrity/availability bounded to the task's own register state, so I:L/A:L; low-complexity fault triggering gives AC:L.

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

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

5
Analysis Generated
Jul 20, 2026 - 17:18 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:39 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 15:39 cve.org
HIGH 7.8

DescriptionCVE.org

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

riscv: Fix register corruption from uninitialized cregs on error

compat_riscv_gpr_set() calls cregs_to_regs() unconditionally, even when user_regset_copyin() fails. Since cregs is an uninitialized stack variable, a copyin failure causes uninitialized stack data to be written into the target task's pt_regs, corrupting its register state and potentially leaking kernel stack contents.

compat_restore_sigcontext() has the same issue: it calls cregs_to_regs() even when __copy_from_user() fails, leading to the same corruption of the signal-returning task's register state on error.

Only call cregs_to_regs() when the user copy succeeds.

AnalysisAI

Kernel stack information disclosure and register-state corruption affects the Linux kernel's RISC-V 32-bit compat layer, where compat_riscv_gpr_set() (the PTRACE_SETREGSET handler) and compat_restore_sigcontext() (the compat sigreturn path) call cregs_to_regs() even after the user copy fails, writing an uninitialized stack buffer into the target task's pt_regs. A local low-privileged attacker running a 32-bit process on a riscv64 kernel can force the copy to fail and leak uninitialized kernel stack contents into user-visible registers while corrupting the task's register state. There is no public exploit identified at time of analysis, and EPSS is low (0.15%, 5th percentile), consistent with the narrow RISC-V compat attack surface.

Technical ContextAI

The flaw lives in the RISC-V architecture's COMPAT support, which lets a 64-bit riscv kernel run 32-bit (ILP32) userspace. Both affected functions declare a local 'cregs' structure on the stack, populate it from userspace via user_regset_copyin() (ptrace regset path) or __copy_from_user() (signal-return path), and then translate it into the kernel's native pt_regs via cregs_to_regs(). Because cregs_to_regs() is invoked unconditionally, a failed copy leaves cregs holding whatever residual data was previously on the kernel stack, which is then committed into the task's saved register file. This is a classic use-of-uninitialized-stack-variable defect (CWE-457 / CWE-908) whose security consequence is an information-disclosure primitive (CWE-200), since the leaked kernel stack bytes become readable in the returning task's GPRs. CPE data identifies the affected product only generically as cpe:2.3:a:linux:linux, with the true scope being kernels built with CONFIG_RISCV and CONFIG_COMPAT.

RemediationAI

Patch available per vendor advisory: apply the upstream stable-tree fix that makes cregs_to_regs() conditional on a successful user copy, tracked in commits https://git.kernel.org/stable/c/9e020156833f1ad0d425a1e3d85b65639f1c1c50 and https://git.kernel.org/stable/c/6ebcbb53fc9bc30843054ed99fd60b8e542628f4; upgrade to the distribution kernel build that incorporates these commits (released tagged version not independently confirmed from the provided data). Because the issue is confined to the RISC-V 32-bit compat path, a targeted workaround where patching is delayed is to build or boot a kernel without CONFIG_COMPAT so 32-bit processes cannot exercise the vulnerable handlers - with the trade-off that legitimate 32-bit RISC-V binaries will no longer run. On systems that do not require 32-bit userspace, avoiding execution of ILP32 processes and restricting untrusted local users' ability to run compat binaries reduces exposure until the patched kernel is deployed.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-45655 vulnerability details – vuln.today

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