主要观点:
- 介绍了名为[CVE-2024-30089]的内核漏洞,通过该漏洞在完全更新的Windows 11机器上取得Pwn2Own的首次胜利,阐述了漏洞发现过程及相关研究。
- 强调选择目标并坚持研究的困难,此漏洞位于微软内核流服务(mskssrv.sys),其IPC机制存在漏洞。
- 研究灵感源于他人博客,发现MSKSSRV中对象引用计数和锁定机制存在问题,导致use-after-free漏洞。
- 分析了漏洞触发条件,如在不同进程上下文中处理IRP请求时可能出现的情况,以及多个文件句柄对同一对象的引用和释放。
- 探讨了漏洞的补丁情况,微软的补丁主要是添加访问令牌检查,未直接解决逻辑错误,仍存在内存 corruption问题。
关键信息:
- 漏洞可利用于特权升级,CVSS评分显示“Exploitation [is] More Likely”,攻击复杂度为“Low”。
- 漏洞源于逻辑错误,早期版本代码中存在将指针设置为NULL的情况,后因功能标志导致该行为被改变引入漏洞。
- 研究过程包括分析驱动程序版本、追踪程序状态、模拟IRP请求等,最终确定漏洞位置和利用方式。
重要细节:
- MSKSSRV通过
FSStreamReg
和FSContextReg
对象与用户态进程交互,FSContextReg
未实现锁定机制。 FSRendezvousServer::Close
函数在不同进程上下文中的调用及处理过程存在问题,可能导致多次释放对象。- 补丁添加了访问令牌检查,但未解决逻辑错误,仍存在安全隐患,如可能被威胁行为者利用获取内核R/W primitive。
图表说明:
- Diagram 1:展示MS KS Server的进程间通信。
- Diagram 2:初始化和注册FSContextReg对象的过程。
- Diagram 3:共享MS KS Server设备句柄。
- Diagram 4:外国进程关闭最后一个FILE_OBJECT句柄。
- Diagram 5:CVE-2024-30089的描述。
相关链接:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。