主要观点:发现了 MSI SMM 驱动中的 SMM 内存损坏漏洞(SMRAM 写入),允许攻击者执行任意代码,介绍了 System Management Mode(SMM)的相关信息、漏洞披露 timeline、所需的漏洞研究工具及分析过程,包括对 BIOS 和 SMRAM 的dump、分析易受攻击的处理程序、利用两个漏洞实现代码执行等。
关键信息:
- 漏洞 CVE 标识符为 CVE-2024-36877,CVSS v3.1 评分 8.2 高,受影响的 MSI 芯片组。
- SMM 是高特权运行环境,其代码和数据存储在 SMRAM 中,现代操作系统可与 SMM 模块通信。
- 工具包括 Chipsec、SmmBackdoor 等,Chipsec 初始扫描结果显示 SMM_Code_Chk_En 启用及 BIOS 区域未写保护。
- 分析了易受攻击的 MsiApServiceSmi 模块的处理程序,存在获取变量导致溢出和任意写入物理内存(包括 SMRAM)的漏洞。
- 通过链接触发漏洞实现代码执行,包括准备写原语、构建更好的写原语、实现真正的 memcopy 等,最后使用 stub loader 进行页面分配和代码复制。
重要细节: - 详细描述了漏洞利用的过程,如如何利用变量溢出控制内存地址、如何修改函数以禁用特定写入等。
- 给出了 Python 伪代码实现漏洞利用的步骤,包括设置变量、发送 SMI 等操作。
- 介绍了 stub loader 的作用和实现方式,以及如何将其 shellcode 写入特定地址。
- 提供了在 GitHub 上获取 POC(内核驱动形式)的信息。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。