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中的路径触发溢出,可能需要进一步分析。
  • 最后被溢出损坏的内存最好是系统内核的内存,而不是锁定的用户层内存。
➡️

继续阅读