CVE-2026-80560
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/08/2026
Última modificación:
26/08/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
openrisc: signal: do not restore privileged SR bits on sigreturn<br />
<br />
restore_sigcontext() copies the whole supervision register (SR) from the<br />
signal frame and only clears SPR_SR_SM before the value is reloaded into<br />
the hardware SR (through ESR and l.rfe) on the return to user space. All<br />
other SR bits are left under user control.<br />
<br />
An unprivileged task can thus return from a signal handler through a<br />
crafted sigframe that clears SPR_SR_DME. With the data MMU disabled the<br />
CPU performs no translation or protection on data accesses, so the task<br />
gains read and write access to arbitrary physical memory, a local<br />
privilege escalation. SPR_SR_IME, SPR_SR_SUMRA, SPR_SR_LEE, SPR_SR_EPH<br />
and the cache-enable bits are exposed the same way. The ptrace GPR regset<br />
already refuses any change to SR for exactly this reason.<br />
<br />
Restore only the arithmetic flag bits (F, CY, OV) from the signal frame<br />
and take every privileged control bit from the SR the kernel saved on<br />
signal entry.<br />
<br />
Verified with qemu-system-or1k -M or1k-sim: before this change an<br />
unprivileged PoC clears SPR_SR_DME in rt_sigreturn and writes a marker to<br />
physical address 0x03000000 (beyond the kernel&#39;s mem=32M); afterwards the<br />
same PoC receives SIGSEGV and physical memory is unchanged.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/212fc482ddd7f9ccdd74a05eab1cac849350dcd6
- https://git.kernel.org/stable/c/32ef1b30ad736519f7a207bcc2986f3d4129d972
- https://git.kernel.org/stable/c/89a91b30685c0493b0fa2b47d0ab41061a63069d
- https://git.kernel.org/stable/c/a88d688be8d7f03cbf927f2ab454ea9fa58d2979
- https://git.kernel.org/stable/c/b4d73c3848bae9084fa8b9b2aa76d99a7d8eb17d
- https://git.kernel.org/stable/c/bc2e24ba6e167ccf374a197457aa5640a802f429
- https://git.kernel.org/stable/c/cd8b43a71755c516f5c1f265a103438ae9ab15be
- https://git.kernel.org/stable/c/cf1b5514ddf9df098ce7e3741fc9679fd85a4ec6



