HTTP提权漏洞CVE-2023-23410分析及PoC
💡
原文中文,约2400字,阅读约需6分钟。
📝
内容提要
本文分析了2023年3月发现的HTTP协议本地提权漏洞CVE-2023-23410的发现和分析过程,发现补丁限制了ServiceName长度,但存在计算结果溢出的情况。最终发生内存损坏的地方是HTTP映射到内核的用户层缓冲区内存,限制了构造利用。需要找到最后被溢出损坏的内存最好是系统内核的内存。
🎯
关键要点
- 2023年3月发现HTTP协议存在本地提权漏洞CVE-2023-23410和远程代码执行漏洞。
- 漏洞补丁限制了ServiceName长度,但存在计算结果溢出的问题。
- 补丁修复了整数溢出漏洞,ServiceName个数最多为0x40,单个ServiceName长度限制为小于0xfffc。
- 漏洞可以通过本地http服务设置或远程客户端身份验证响应包触发。
- 构造PoC时,通过HttpSetUrlGroupProperty函数设置ServiceName长度,但未能导致严重后果。
- UlCopyChannelBindConfigToIrp函数解析并复制数据,存在计算结果溢出,导致崩溃。
- HTTP协议整体上设定ServiceName长度为WORD,补丁修复的长度判断存在疑问。
- 最终内存损坏发生在HTTP映射到内核的用户层缓冲区内存,限制了利用构造。
- 需要从UlCaptureHttpResponse中的路径触发溢出,可能需要进一步分析。
- 最后被溢出损坏的内存最好是系统内核的内存,而不是锁定的用户层内存。
➡️