UBUNTU-CVE-2026-89489: High severity ubuntu/linux vulnerability
In the Linux kernel, the following vulnerability has been resolved: openrisc: fix arbitrary kernel memory access via or1katomic syscall sysor1katomic() (syscall 244 in the "or1k" ABI) takes two user pointers, v1 and v2, and swaps the words they point to in hand-written assembly. l.lwz r29,0(r4) l.lwz r27,0(r5) l.sw 0(r4),r27 l.sw 0(r5),r29 The pointers are not checked with accessok(). The four memory accesses also have no exception table entries. A caller passes a kernel address as either pointer, and the syscall reads from and writes to it directly. This gives an unprivileged process a kernel read/write primitive. It overwrites kernel data such as the syscalltable, gaining code execution in kernel context. Check both pointers before entering the critical section. Add fixups for the four memory accesses so faults on valid but unmapped user addresses return -EFAULT. [shorne@gmail.com: fix comment style]
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
Add exception-table fixups for all four memory accesses in sys_or1k_atomic(): l.lwz 0(r4), l.lwz 0(r5), l.sw 0(r4), and l.sw 0(r5), so faults on valid but unmapped user addresses return -EFAULT.
- Compensating control
Check both user pointers, v1 and v2, with access_ok() before entering the critical section.