Impact
The Linux kernel contains a system call sys_or1k_atomic that performs a word swap between two memory addresses supplied by the caller. The implementation performs four raw memory accesses—two reads and two writes—without validating the supplied pointers. An unprivileged user on OpenRISC platforms can provide a kernel address as either pointer and cause the kernel to read from or write to that address, allowing overwrite of critical kernel structures such as the sys_call_table, effectively granting arbitrary kernel‑level code execution. The flaw is a classic example of unchecked user‑supplied pointers, categorized as CWE‑822.
Affected Systems
The affected product is the Linux kernel running on OpenRISC architecture. Any release of the Linux kernel that compiles with the or1k ABI and does not include the patch is vulnerable. No specific version numbers are listed, so this syscall on OpenRISC is considered vulnerable.
Risk and Exploitability
With a CVSS score of 7.8 this vulnerability has a high impact. The EPSS score is less than 1%, indicating a very low likelihood of exploitation, and it is not listed in the CISA KEV catalog. It provides an unprivileged local user with a kernel read/write primitive that can be used to overwrite critical kernel data structures such as the sys_call_table, leading to kernel‑level code execution. Based on the description, the exploit requires a local unprivileged user to invoke the syscall with a kernel address, which is unlikely without administrative access.
OpenCVE Enrichment
Debian DSA