关键信息 漏洞描述 漏洞位置: RISC-V Rocket-Chip v1.6 问题: SRET (Supervisor-mode Exception Return) 指令未能正确转换处理器的特权级别。按照 位,处理器应从 Machine 模式 (M-模式) 降级到 Supervisor 模式 (S-模式),但错误地保持在 M-模式中,造成特权保留漏洞。 验证资源 攻击向量可行性: 通过开源存储库中的复现工具已验证。详见复现代码 和执行日志 。 规格分析: 该漏洞违反了《RISC-V 指令集手册 Volume II: 特权架构》(Version 20250508) 中关于 SRET 指令特权级别切换的规定(3.3.1 节)。 受影响代码库: Rocket-Chip 源代码及受影响版本的提交记录可从 https://github.com/chipsalliance/rocket-chip.git 获取。 相关文件 执行文件位置: - ./RISC-V/Rocket-chip/.input_sret_normal.si - ./RISC-V/Rocket-chip/.input_sret_with_bug.si - ./RISC-V/Rocket-chip/.input_sret_with_bug_sepc.si 执行日志位置: - ./RISC-V/Rocket-chip/Rocket_Runtime_log/run.sret_normal.log - ./RISC-V/Rocket-chip/Rocket_Runtime_log/run.sret_with_bug.log - ./RISC-V/Rocket-chip/Rocket_Runtime_log/run.sret_with_bug_sepc.log 日志差异: 表现了错误执行结果,特别地, 记录了因 调用引发的返回错误。