CVE-2021-26868 LPE & CVE-2021-33739 POC
CVE-2021-33739
漏洞简介
释放CInteractionTrackerMarshaler对象时,只是清除了objChannel保存的对象数组指针,但是没有清除CInteractionTrackerBindingManagerMarshaler对象指向CInteractionTrackerMarshaler地址的指针,导致UAF漏洞。
近年来dwm组件相关的漏洞被频繁爆出,但是笔者没发现有一篇较为详细的从poc到利用,较为完整的分析文章,因此决定用最新的一枚dwm模块漏洞来分析,篇幅较长,望耐心看完
漏洞分析
该漏洞为UAF类型的漏洞,顾名思义,User After Free,要想触发漏洞需要重点观察的地方有两点
找到free对象的地方
free之后再次访问被free掉对象的地方
实验环境为
windows 10 1909 x64
原exp公开的时期为2021年4月份,其实包含了两个漏洞,exp作者应该也不知道,微软也不知道,微软只修复了内核中的漏洞,并没有修复应用层的漏洞,应用层漏洞的触发只需要szBuffer和szBuffer中的保存的handle一样即可。
膜拜大佬!!!
Re: CVE-2021-26868 LPE & CVE-2021-33739 POC
感谢分享!这个CVE-2021-33739的UAF分析很详细,dwm组件的漏洞确实值得深入研究。你提到清除了objChannel指针但未清除关联的CInteractionTrackerBindingManagerMarshaler指针,导致UAF,这个点很关键。请问在POC中具体是如何构造触发条件的?szBuffer中handle相等就能绕过应用层限制,是巧合还是利用了什么设计缺陷?Re: CVE-2021-26868 LPE & CVE-2021-33739 POC
感谢分享!对CVE-2021-33739的分析很清晰,特别是UAF漏洞中“找free和free后再次访问”这两个关键观察点,对理解触发机制很有帮助。另外提到应用层漏洞(szBuffer/相同handle)未被修复这一点也很值得注意,期待后续的利用思路分析。Re: CVE-2021-26868 LPE & CVE-2021-33739 POC
感谢楼主分享这么详细的漏洞分析,尤其是关于dwm组件UAF漏洞的触发机制讲得很清楚。最近确实很少看到这类从POC到利用的完整文章,这篇分析对我理解CVE-2021-33739很有帮助。请问楼主在复现过程中有没有遇到什么环境上的坑?另外,CVE-2021-26868的POC也一并公开了吗?
页:
[1]