CVE-2026-64082

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux7383ee05314be58f8f9f018ee0ac53bef3808aea < 9e020156833f1ad0d425a1e3d85b65639f1c1c50affected
LinuxLinux7383ee05314be58f8f9f018ee0ac53bef3808aea < 6ebcbb53fc9bc30843054ed99fd60b8e542628f4affected
LinuxLinux5.19affected
LinuxLinux0 < 5.19unaffected
LinuxLinux7.0.11 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References