Impact
In the Linux kernel for MIPS architectures, a miscompilation bug in LLVM versions 18 to 21 causes the global register variable __current_thread_info to be placed in the $gp register and then incorrectly restored during kernel relocation. The restored register points to an unrelocated address, triggering a kernel panic during the early init_idle phase of boot. The result is an immediate system crash that effectively denies service. This weakness is characterized as CWE‑823, reflecting an improper handling of a global register variable that leads to a critical runtime failure.
Affected Systems
The flaw affects any Linux kernel image compiled for 64‑bit MIPS processors using the LLVM compiler in the range 18 to 21. That includes systems such as Loongson‑3 hardware running kernel 6.19.0‑rc5‑… and any other builds that employ the same global register variable scheme for thread information. All kernels containing the miscompiled code share the same early‑boot crash behavior.
Risk and Exploitability
The problem manifests only during the compilation and relocation stages, so it cannot be triggered remotely without control over kernel construction or delivery of a pre‑compiled malicious image. Based on the description, it is inferred that a remote attacker would need to supply a compromised kernel or exploit a build‑chain failure. The EPSS score is < 1%, and the vulnerability is not listed in KEV, indicating a low exploitation probability. The CVSS score of 7.3 reflects a high‑moderate severity, but the overall risk to unattended systems is limited to environments that build or deploy kernels with the affected LLVM compiler.
OpenCVE Enrichment