此仓库包含针对 CVE-2022-21877 的概念验证(POC),由 Quang Linh 发现,他任职于 STAR Labs。这是一个在 spaceport.sys 驱动程序中发现的的信息泄露漏洞。
相关的博客文章可在以下地址找到。
要构建 POC,只需运行 .\build。
要运行它,你的机器上需要有一个可以分配 Tier 的存储池。在我的测试中,这意味着至少需要两个存储池:一个初始池和另一个池。这是因为初始池无法附加 Tier。
要获得必要的配置,你可以在虚拟机上设置 3 个虚拟磁盘。这些磁盘将被微软自动用作初始池。然后你可以重启,再添加两个虚拟磁盘。接着,你可以以管理员身份使用以下命令创建第二个池:
New-StoragePool -FriendlyName Pool2 -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $True)
一切就绪后,以管理员身份运行 POC,并为其提供可用池的“FriendlyName”(例如你刚刚创建的池)。
此 POC 可以泄露系统缓冲区之外的不受控制的数据。正如博客文章中所述,我无法触发对特定内核对象的受控泄露。其效果如下所示:
