漏洞标题
riscv:uprobes:在构建XOL缓冲区后添加缺少的fence.i
漏洞描述信息
## 概述
在Linux内核中,解决了一个与riscv架构上uprobes相关的漏洞。XOL(execute out-of-line)缓冲区用于单步执行被uprobes替换的指令。然而,在构建XOL缓冲区之后缺少必要的fence.i指令,导致执行了过时或损坏的指令,从而引发错误。
## 影响版本
未具体提及影响的版本,但该问题出现在使用riscv架构且启用uprobes功能的Linux内核中。
## 细节
XOL缓冲区被用来单步执行替换后的指令。RISC-V架构的端口在构造XOL缓冲区后没有正确执行fence.i指令(i$刷新),这可能导致执行过时或损坏的指令。该漏洞在Spacemit K1/X60上运行BPF自测试“test_progs: uprobe_autoattach, attach_probe”时被发现,测试随机崩溃。
## 影响
由于缺少fence.i指令,可能导致执行过时或损坏的指令,引发系统不稳定或崩溃。
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
漏洞类别
跨界内存读
漏洞标题
riscv: uprobes: Add missing fence.i after building the XOL buffer
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
riscv: uprobes: Add missing fence.i after building the XOL buffer
The XOL (execute out-of-line) buffer is used to single-step the
replaced instruction(s) for uprobes. The RISC-V port was missing a
proper fence.i (i$ flushing) after constructing the XOL buffer, which
can result in incorrect execution of stale/broken instructions.
This was found running the BPF selftests "test_progs:
uprobe_autoattach, attach_probe" on the Spacemit K1/X60, where the
uprobes tests randomly blew up.
CVSS信息
N/A
漏洞类别
N/A