Microsoft于6月发布的零日特权升级Windows补丁未修复漏洞,但仍可以通过一些调整来利用此漏洞。

2020-12-26 19:06:47

早在六月,Microsoft就针对Windows操作系统中的漏洞发布了修复程序,使攻击者能够将其权限增加到受感染计算机上的内核级别。补丁没有粘住。

该漏洞在5月份被零日黑客利用,但是仍然可以利用,但是可以通过另一种方法加以利用,因为安全研究人员通过公开可用的概念验证代码进行了演示。

Google Project零安全研究员Maddie Stone发现,六月份的Microsoft补丁无法修复原始漏洞(CVE-2020-0986),并且仍可以通过一些调整加以利用。

2020年5月,该问题被广泛用于特权升级以及Internet Explorer中的一个漏洞,该漏洞允许远程执行代码。在卡巴斯基发现攻击时,这两个漏洞都是零日漏洞。

Stone说,攻击者仍然可以通过发送偏移量而不是指针来触发CVE-2020-0986来提高其对内核级别的权限。

在Twitter上,研究人员清楚地指出原始漏洞是任意指针取消引用,从而使攻击者可以控制指向memcpy函数的“ src”和“ dest”指针。

微软的补丁程序是不正确的,因为它将指针更改为偏移量,因此仍可以控制该函数的参数。

在今天的简短技术报告中,她解释了如何触发漏洞(现已标识为CVE-2020-17008):

完整性较低的进程可以将LPC消息发送到splwow64.exe(中等完整性),并在splwow64的内存空间中获得“写到哪里”原语。攻击者控制目的地,要复制的内容以及通过memcpy调用复制的字节数。目标指针计算的偏移量仅限制为: 偏移< = 0x7FFFFFFF 偏移量+结构的感知大小< = 0x7FFFFFFF Splwow64将LPC消息传递给GdiPrinterThunk。易受攻击的memcpy位于消息0x6D中。

为了证明在微软补丁之后仍然可以利用,Stone发布了概念验证(PoC)代码,该代码改编自卡巴斯基的原始代码,以及有关如何正确运行它的说明。

研究人员补充说,PoC所做的操作两次触发了漏洞:“首先泄漏存储消息的堆地址,并添加偏移量以生成指针,然后在哪里进行写操作。”

Microsoft在9月24日收到报告,并在一天后确认此问题,并为其分配了跟踪号CVE-2020-17008。该公司计划在2020年11月发布一个补丁,但在测试阶段发现的问题将该发布推迟到2021年1月12日星期二发布。

Google Project Zero的漏洞披露政策为90天,如果需要更多时间进行修复,则延长14天。正如微软所告知的那样,补丁程序将在1月6日之前发布,两个截止日期都无法满足。

此外,正如Stone所说,攻击者过去已经利用过该错误,对此很熟悉,可以在获得不正确的修复程序时再次利用它。