{"id":11965,"date":"2026-09-04T18:53:59","date_gmt":"2026-09-04T10:53:59","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80560"},"modified":"2026-09-04T18:53:59","modified_gmt":"2026-09-04T10:53:59","slug":"cve-2026-80560","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80560","title":{"rendered":"CVE-2026-80560 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nopenrisc: signal: do"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>openrisc: signal: do not restore privileged SR bits on sigreturn<\/p>\n<p>restore_sigcontext() copies the whole supervision register (SR) from the<br \/>\nsignal frame and only clears SPR_SR_SM before the value is reloaded into<br \/>\nthe hardware SR (through ESR and l.rfe) on the return to user space.  All<br \/>\nother SR bits are left under user control.<\/p>\n<p>An unprivileged task can thus return from a signal handler through a<br \/>\ncrafted sigframe that clears SPR_SR_DME.  With the data MMU disabled the<br \/>\nCPU performs no translation or protection on data accesses, so the task<br \/>\ngains read and write access to arbitrary physical memory, a local<br \/>\nprivilege escalation.  SPR_SR_IME, SPR_SR_SUMRA, SPR_SR_LEE, SPR_SR_EPH<br \/>\nand the cache-enable bits are exposed the same way.  The ptrace GPR regset<br \/>\nalready refuses any change to SR for exactly this reason.<\/p>\n<p>Restore only the arithmetic flag bits (F, CY, OV) from the signal frame<br \/>\nand take every privileged control bit from the SR the kernel saved on<br \/>\nsignal entry.<\/p>\n<p>Verified with qemu-system-or1k -M or1k-sim: before this change an<br \/>\nunprivileged PoC clears SPR_SR_DME in rt_sigreturn and writes a marker to<br \/>\nphysical address 0x03000000 (beyond the kernel&#8217;s mem=32M); afterwards the<br \/>\nsame PoC receives SIGSEGV and physical memory is unchanged.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>openrisc: signal: do not restore privileged SR bits on sigreturn<\/p>\n<p>restore_sigcontext() copies the whole supervision register (SR) f<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11965","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}