* CVE-2026-89489: openrisc: fix arbitrary kernel memory access via or1k_atomic syscall
@ 2026-09-11 19:42 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-09-11 19:42 UTC (permalink / raw)
To: linux-cve-announce; +Cc: Greg Kroah-Hartman
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
openrisc: fix arbitrary kernel memory access via or1k_atomic syscall
sys_or1k_atomic() (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 access_ok(). 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 sys_call_table, 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]
The Linux kernel CVE team has assigned CVE-2026-89489 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.1 with commit 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a and fixed in 6.12.109 with commit a520e8cac54fb403f3800125b606f55fcad42cb9
Issue introduced in 3.1 with commit 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a and fixed in 6.18.50 with commit d64a75369cd0f2ee79afcc9d9ca34a3890989379
Issue introduced in 3.1 with commit 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a and fixed in 7.2.4 with commit b53435c079c78f89f70a62dd5a322cca4e292b34
Issue introduced in 3.1 with commit 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a and fixed in 7.3-rc1 with commit 78004e9a87f240df03e2f73120d291763c32e0a7
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-89489
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
arch/openrisc/kernel/entry.S
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/a520e8cac54fb403f3800125b606f55fcad42cb9
https://git.kernel.org/stable/c/d64a75369cd0f2ee79afcc9d9ca34a3890989379
https://git.kernel.org/stable/c/b53435c079c78f89f70a62dd5a322cca4e292b34
https://git.kernel.org/stable/c/78004e9a87f240df03e2f73120d291763c32e0a7
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-11 19:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-11 19:42 CVE-2026-89489: openrisc: fix arbitrary kernel memory access via or1k_atomic syscall Greg Kroah-Hartman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.