BrowseDialog Class (ccrpbds6.dll) 导致 Internet Explorer 拒绝服务漏洞分析
该漏洞的PoC(概念验证代码)实现极为直接——触发浏览器崩溃的条件简单得令人意外。测试环境采用Windows XP Professional SP2(已安装全部补丁)并运行Internet Explorer 7,结果浏览器一触即溃。
核心问题在于CLSID:19E6E148-BAEC-11D2-B03A-EAFC20524153,该标识对应BrowseDialog组件中的某个接口。攻击者只需构造一个超长字符串(本例中使用了200万个字母A),并将其赋值给SelectedFolder属性,即可导致IE立即崩溃。
漏洞触发逻辑分为两步:首先通过VBScript将超长字符串注入对象属性,随后利用Ja vaScript调用document.location.reload()重新加载页面——此时浏览器会因内存分配失败而直接崩溃。
值得警惕的是,尽管此类漏洞原理简单,但在实际攻击场景中常被用于干扰用户正常操作或为后续利用创造条件。即便已过去多年,类似的内存分配问题在老旧组件中仍时有发现,需要持续关注。
