Linux Kernel Runtime Constant Support Vulnerability in RISC-V NOMMU Kernels

Vulnerability

A vulnerability in the Linux kernel's handling of runtime constant support for RISC-V NOMMU kernels has been addressed. The issue arose in the `__runtime_fixup_32` function, which improperly managed cases where the `val` parameter was zero. This mismanagement could occur when patching a NOMMU kernel and referencing a physical address below the 4 GiB threshold, where the upper 32 bits were all zero. The existing logic allowed the function to incorrectly emit two `nop` instructions, leaving random data in the register intended for the upper 32 bits of a pointer. When this corrupted data was combined with the lower 32 bits, it resulted in an invalid pointer, causing a kernel panic upon access. The vulnerability was rooted in the failure to fully apply the logic of adjusting the second instruction to an `li` after converting the first to a `nop`, particularly when the `else` branch of the nop-checks was executed.

Impact

Exploitation of this vulnerability could lead to a kernel panic, causing a denial of service by crashing the kernel.

Added: Jul 25, 2025, 4:07 PM
Updated: Jul 25, 2025, 4:07 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
5.3
remediation
0.0
relevance
0.3
threat
3.2
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.