CVE-2026-80560

HighCVSS 7.8/10Last modified Aug 27, 2026

Description

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.

Metrics

CVSS 3.1 7.8/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected software

Source: the vendor's advisory (CNA). NVD analysis pending.

VendorProductVersions
LinuxLinux>= ac689eb7f9d4e270d1365853b82eece669387e2c, < bc2e24ba6e167ccf374a197457aa5640a802f429; >= ac689eb7f9d4e270d1365853b82eece669387e2c, < cf1b5514ddf9df098ce7e3741fc9679fd85a4ec6; >= ac689eb7f9d4e270d1365853b82eece669387e2c, < cd8b43a71755c516f5c1f265a103438ae9ab15be; >= ac689eb7f9d4e270d1365853b82eece669387e2c, < b4d73c3848bae9084fa8b9b2aa76d99a7d8eb17d; >= ac689eb7f9d4e270d1365853b82eece669387e2c, < 89a91b30685c0493b0fa2b47d0ab41061a63069d; >= ac689eb7f9d4e270d1365853b82eece669387e2c, < a88d688be8d7f03cbf927f2ab454ea9fa58d2979; >= ac689eb7f9d4e270d1365853b82eece669387e2c, < 212fc482ddd7f9ccdd74a05eab1cac849350dcd6; >= ac689eb7f9d4e270d1365853b82eece669387e2c, < 32ef1b30ad736519f7a207bcc2986f3d4129d972
LinuxLinux3.1

References

Timeline

Published
Aug 26, 2026
Last modified
Aug 27, 2026
NVD status
Received

Related CVEs from 2026

CVE-2026-805619.8In the Linux kernel, the following vulnerability has been resolved: libceph: fix multiple unsafe decodes in decode_locker() decode_locker(CVE-2026-80562In the Linux kernel, the following vulnerability has been resolved: gpio: ml-ioh: use raw_spinlock_t for the register lock ioh_irq_type() CVE-2026-80563In the Linux kernel, the following vulnerability has been resolved: gpio: sloppy-logic-analyzer: fix use-after-free via debugfs trigger on CVE-2026-80564In the Linux kernel, the following vulnerability has been resolved: gve: fix NULL dereference due to missing ptp adjfine Fix NULL derefereCVE-2026-805657.8In the Linux kernel, the following vulnerability has been resolved: crypto: qce - fix error path in devm_qce_register_algs If ops->registeCVE-2026-80566In the Linux kernel, the following vulnerability has been resolved: Input: hynitron_cstxxx - validate touch count and finger IDs The driveCVE-2026-80567In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - propagate F54 worker errors to V4L2 queue PrevCVE-2026-805687.8In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - block s_input when F54 queue is busy Changing CVE-2026-805697.8In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F54 report size to the allocated buffCVE-2026-805707.8In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - zero report size on F54 work error In rmi_f54_CVE-2026-80571In the Linux kernel, the following vulnerability has been resolved: powerpc/pseries: papr-phy-attest - validate cmd.length, plug mem leak CVE-2026-805727.8In the Linux kernel, the following vulnerability has been resolved: Input: byd - synchronize timer deletion before freeing private data by