前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单一函数中的一系列Windows内核漏洞

单一函数中的一系列Windows内核漏洞

作者头像
Khan安全团队
发布2021-02-12 13:54:51
8010
发布2021-02-12 13:54:51
举报
文章被收录于专栏:Khan安全团队Khan安全团队

介紹

在分析Windows内核漏洞的过程中,我发现一个函数EtwpNotifyGuid存在5个以上的bug,分别是CVE-2020-1033、CVE-2020-1034、CVE-2021- 1662、CVE-2021-1682等。这些漏洞分别是CVE-2020-1033、CVE-2020-1034、CVE-2021- 1662、CVE-2021-1682等。在一个Windows内核函数中存在5个以上的BUG,这是一个非常惊人的事实。

这篇文章将深入了解这些漏洞的细节和微软发布的修复方法。

CVE-2020-1033。Windows 内核信息泄露漏洞

该bug由微软产品安全与漏洞研究团队成员(@gabe_k)披露,并于2020年9月8日进行了修补。它是由于对输入数据的无效检查造成的,具体如下。

rdx寄存器的值没有被验证,并被用作输入缓冲区的偏移量,因此它可以被用来进行界外读取。通过检查rdx寄存器的值,修复了这个错误。

CVE-2020-1034:Windows 内核提升权限漏洞

这个漏洞也被微软产品安全与漏洞研究团队发现,并与CVE-2020-1033同时进行了修补。

Crowdstrike和ZhangGuo的Yarden Shafir立即全面公布了这个漏洞的细节。

CVE-2021-1662。Windows事件追踪权限提升漏洞

该漏洞由DBAPPSecurity的madongze(@闫子双)发现,并于2021年1月12日进行了修补。输入缓冲区的无效绑定检查会导致内核池的越界访问,并导致权限升级。

如你所见,在EtwpValidateTraceControlFilterDescriptors函数中,如果input_buffer_length为0x90,v10为0x40,则可以通过绑定检查,因此可以进行越界访问。这可能会被滥用来进行权限升级利用。

微软通过检查EtwpValidateTraceControlFilterDescriptors函数中的缓冲区长度来修复该错误,具体如下。

CVE-2021-1682: 視窗核心提升權限漏洞 (Windows Kernel Elevation of Privilege Vulner)

这个漏洞也是由DBAPPSecurity成员李敏(@lm0963)发现的,并通过CVE-2021-1662进行了修补。这是一个由无效绑定检查引起的堆缓冲区溢出漏洞。EtwpNotifyGuid函数使用EtwpAllocDataBlock函数复制输入缓冲区,并对其访问偏移量0x50。当然,通过之前的检查,缓冲区大小应该大于0x48,但也可以小于0x50。因此,它会覆盖下一个池头,导致内存损坏。

结论

以上bug中只有一个是信息泄露漏洞,其他的都是权限提升漏洞,可以用来进行Chrome沙盒逃逸。而在NtTraceControl函数的同一控制代码过程中,还有一个漏洞。

这个事实说明ETW组件是Windows内核中非常脆弱的部分,而且这个组件可能会发现更多的漏洞。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Khan安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档