CVE-2026-80560

CVE-2026-80560

High · published August 26, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
6.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

openrisc: signal: do not restore privileged SR bits on sigreturn

restore_sigcontext() copies the whole supervision register (SR) from the

signal frame and only clears SPR_SR_SM before the value is reloaded into

the hardware SR (through ESR and l.rfe) on the return to user space. All

other SR bits are left under user control.

An unprivileged task can thus return from a signal handler through a

crafted sigframe that clears SPR_SR_DME. With the data MMU disabled the

CPU performs no translation or protection on data accesses, so the task

gains read and write access to arbitrary physical memory, a local

privilege escalation. SPR_SR_IME, SPR_SR_SUMRA, SPR_SR_LEE, SPR_SR_EPH

and the cache-enable bits are exposed the same way. The ptrace GPR regset

already refuses any change to SR for exactly this reason.

Restore only the arithmetic flag bits (F, CY, OV) from the signal frame

and take every privileged control bit from the SR the kernel saved on

signal entry.

Verified with qemu-system-or1k -M or1k-sim: before this change an

unprivileged PoC clears SPR_SR_DME in rt_sigreturn and writes a marker to

physical address 0x03000000 (beyond the kernel's mem=32M); afterwards the

same PoC receives SIGSEGV and physical memory is unchanged.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00176 · 6.7th percentile
Published
2026-08-26T19:17Z
References (8)
EPSS history
Timeline
  • 28 AUG 06:54Z
    EPSS moved — → 0%
    epss
  • 26 AUG 14:37Z
    openrisc: signal: do not restore privileged SR bits on sigreturn
    cvelistv5