攻破微软Edge浏览器的Pwn2Own全链路逻辑漏洞技术分析

admin 2026-08-04 06:40:20 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析了Pwn2Own大赛中攻破微软Edge浏览器的全链路逻辑漏洞利用链。攻击由四个逻辑漏洞串联组成,包括导航校验绕过、异步标签页选择错误和反馈组件路径穿越,最终实现任意文件写入与Windows远程代码执行。文章强调AI系统deepsec成功还原了攻击链,并指出补丁发布到被利用的时间窗口可能因AI而缩短,建议企业加强安全响应。 综合评分: 84 文章分类: 漏洞分析,红队,安全工具


cover_image

攻破微软 Edge 浏览器的 Pwn2Own 全链路逻辑漏洞技术分析

DARKNAVY DARKNAVY

看雪学苑

2026年7月31日 18:07 上海

在小说阅读器读本章

去阅读

2026 年 5 月 14 日,台湾省知名黑客 Orange Tsai 在全球黑客大赛 Pwn2Own 柏林站上完成了 Microsoft Edge 沙箱逃逸攻击,成为了全场唯一拿走浏览器赛道 17.5 万美元赏金的参赛者。令人意外的是,主办方事后透露,Orange 的攻击完全由 4 个逻辑漏洞串联组成,并非浏览器攻击常见的内存破坏漏洞利用。一时间全球安全圈议论纷纷,但始终没有人能够推测或分析出这一攻击的原理。

此后的两个月内,除微软官方修复公告中的极简描述外,没有任何该攻击的技术细节被披露,也没有第三方成功复现案例。而现在,我们的安全 AI 系统 deepsec 中的 PoC Agent 子模块首次还原了该攻击的所有步骤,并给出了完整攻击复现:

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

看雪学苑已关注

分享视频

,时长00:26

0/0

00:00/00:26

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:26

00:26

倍速

全屏

倍速播放中

0.5倍0.75倍1.0倍1.5倍2.0倍

超清流畅

 您的浏览器不支持 video 标签

继续观看

攻破微软 Edge 浏览器的 Pwn2Own 全链路逻辑漏洞技术分析

观看更多

转载

,

攻破微软 Edge 浏览器的 Pwn2Own 全链路逻辑漏洞技术分析

看雪学苑已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

传统漏洞补丁分析的局限性

对微软、苹果等厂商的修复补丁进行分析,是企业与关键基础设施内部安全建设工作的重要一环。此类研究不仅可以衡量漏洞真实危害、评估潜在黑客攻击的响应速度,还有助于下游企业自主验证补丁是否真正解决问题,构建检测和缓解能力。

然而,此次漏洞位于体型庞大的 Edge 浏览器中(单模块超过 300 MB),传统的基于二进制差分的方法在这类补丁面前需要消耗大量的专家人力来辅助分析。在 IDA 等分析工具中加载目标二进制模块和调试符号后,单个 IDB 可达 5 GB,进行二进制差分极为耗时;此外,编译器优化、函数重排等非语义变化也引入了大量与目标漏洞无关的噪声,例如 Edge 此次修复前后发生变动的函数多达 3.2 万个,这进一步增加了定位关键漏洞修复的难度。

差分分析预览看板(图源: deepsec Pro)

另一方面,与内存类漏洞不同,逻辑类漏洞的分析尤其依赖对代码上下文和业务语义的理解,仅从变更函数出发很难还原完整安全语义。我们事后复盘发现,构成此次 Edge 利用链的多个逻辑漏洞分布在导航校验、异步标签页选择和反馈日志处理等不同模块中,彼此间缺乏直接联系。即使定位到单个安全修复,也很难还原漏洞所提供的利用原语及其串联关系。

我们在研究中发现,AI 在代码语义理解和跨模块关联分析方面展现出了显著的效率优势。基于这一思路,我们在 deepsec 系统中实现了一套自动化差分分析框架,将二进制差分分析工具、PoC Agent 平台与 DARKNAVY 安全研究知识库整合到同一分析流程中。

我们以这条复杂的 Edge 利用链为测试对象,检验 deepsec 能否仅从修复前后的二进制文件和有限的官方信息出发,还原完整的漏洞利用链。

从链尾倒推:路径穿越文件写原语

微软官方漏洞公告

面对未知利用链,deepsec 结合漏洞公告,选择从原语最明确的链尾倒推。

分析首先定位到 Edge 反馈组件中的一处明显安全修复。文件写入相关功能在新版中被移除。旧版接口存在路径穿越问题,对应链尾的任意文件写入原语。结合特定利用技巧,该原语还可以进一步转换为 Windows 远程代码执行。

Edge 反馈组件中的修复(图源: deepsec Pro)

同时,deepsec 也确认了该接口的触发条件:攻击者需要在暴露 edgeFeedbackPrivate API 的特权页面执行 JavaScript 代码。

至此,利用链的末端已经明确:

在特权页面执行 JavaScript → 调用 edgeFeedbackPrivate API → 路径穿越写入文件 → Windows RCE

接下来的问题是,攻击者如何从普通网页进入这一特权执行环境。

突破导航限制:任意页面跳转

根据漏洞公告中有关“导航处理”的线索,deepsec 对相关组件进行定向差分分析,随后定位到 CA Guidance 导航组件,并识别出多处安全修复。其中,关键变化集中在 EdgeCAGuidanceNavigationThrottle::WillStartRequest

CA Guidance 导航组件中的修复(图源: deepsec Pro)

旧版直接取参数 switch_profile 作为导航目标,没有限制 javascript: 等特殊 scheme,新版加入了 URL scheme 白名单过滤。

除目标处理外,导航来源校验也发生了变化。旧版通过 GetVisibleURL 获取当前页面显示的 URL,并据此判断导航是否来自微软登录页面,新版则改用 GetInitiatorOrigin 验证导航真实发起方。

形式上,这只是 URL 来源的替换,但 deepsec 识别出两者在安全语义上的微妙差别:旧版验证的当前页面实际可以由一个不可信的上下文控制导航。攻击者可以先让一个可控标签页显示微软登录页面,再从不受信任的上下文触发后续导航,使“通过校验的页面”与“真正发起导航的页面”并不一致,从而绕过来源限制。

不过,即使能够绕过来源校验,渲染进程依然无法直接导航至 edge://guidance-ca-error ,利用链在入口处仍然受阻。

针对这一问题,deepsec 自行分析后发现一个未被补丁修改、可用于进入该处理流程的校验缺口:该组件只比较目标入口 URL 的 host ,没有同时验证 scheme。因而攻击者可以用 https://guidance-ca-error/ 进入同一处理流程,绕过渲染进程不能直接导航至 edge:// 特权 scheme 的限制。进入该流程后,再将 switch_profile 设置为特权页面或 javascript: URL。

恶意页面 → CA Guidance 导航 → 任意 URL 跳转 → javascript: URL 或特权页面

到这里,deepsec 已经获得了一个任意 URL 跳转原语,但这仍不足以完成完整利用。

补齐 UXSS 的最后一环

这些漏洞勾勒出了“导航校验绕过 → UXSS → 调用特权 API → 路径穿越写文件”的基本方向,但仍缺少关键一环。

攻击者虽然可以从微软登录页面发起任意目标跳转,通过 javascript: URL 在当前页面执行脚本,或跳转到一个特权页面,但这两种能力无法直接组合:跳转到暴露 edgeFeedbackPrivate API 的特权页面后,攻击者仍然需要找到一种方式,在该特权页面的上下文中执行 JavaScript。

deepsec 的分析一度陷入僵局。

在探索过程中,deepsec 还定位到其他模块中的若干可疑修复。例如旧版 QuickAuth 的跳转功能同样缺乏必要限制,而新版为其增加了目标白名单等安全措施。随着候选漏洞不断增多,真正的利用链变得更加扑朔迷离。

此时,deepsec 必须像人类研究员一样,基于现有证据和利用条件进行取舍:哪些修复只是相邻攻击面中的独立问题,哪些变化才可能补齐当前利用链?

经过一段时间的并行探索,deepsec 判断 QuickAuth 等方向缺乏利用条件,因此将更多分析资源投入 CA Guidance 路径。

沿着 HandleCAErrorPageGuidance 的下游继续追踪后,deepsec 找到了整条链中最隐蔽的对象绑定错误:

导航对象绑定逻辑的修复(图源: deepsec Pro)

当 email 参数与当前 profile 匹配时,HandleCAErrorPageGuidance 通过异步 PostTask 导航至 switch_profile 参数指定的 URL。

旧版 lambda 捕获的是浏览器窗口 WeakPtr<Browser>。执行导航时用 CURRENT_TAB disposition,但没有绑定具体标签页。Navigate 在运行时通过 GetActiveWebContents 取当前活动标签页,并在该标签页中执行导航。新版 lambda 则捕获具体标签页 WeakPtr<WebContents>,确保目标 URL 加载到该标签页中。

两者间的细微差异看似只是导航实现方式的调整,并不具有安全意义。然而结合利用链语境与浏览器安全研究知识,deepsec 察觉到这一调整改变了安全检查与实际操作对象之间的关系。

由于 lambda 异步执行,从任务被投递到实际运行之间,浏览器活动标签页可能发生变化。因此,通过登录页校验的标签页和实际执行 JavaScript 的标签页可以不是同一个。攻击者可以构造多重跳转,先让一个标签页进入微软登录页面并通过校验,再在异步任务执行前将目标特权页面切换为活动标签页。

这样一来,攻击者便能够在暴露 edgeFeedbackPrivate API 的特权页面上下文中执行任意 JavaScript,最终形成 UXSS。

至此,完整利用链得以闭合:攻击者首先从恶意页面构造 CA Guidance 导航,并利用入口 URL 只校验 host、不校验 scheme 的缺陷进入相关处理流程;随后,通过错误的导航来源校验和缺失的目标 scheme 限制,实现任意 URL 跳转;最后,利用异步导航中的对象绑定错误切换活动标签页,在暴露 edgeFeedbackPrivate API 的特权页面中执行 JavaScript。攻击者由此可以调用反馈组件中的漏洞接口,通过路径穿越完成任意文件写入,并进一步实现 Windows RCE。

最终,deepsec 在配套的实机测试环境中完成了漏洞利用代码的编写与调试,验证了整条利用链。

结语

这次实践表明,在公开信息极其有限、目标二进制规模庞大、多个漏洞跨组件分布的情况下,deepsec 仍能够结合补丁差分、代码语义、浏览器安全知识和动态验证,逐步还原漏洞原语及其串联关系。

微软等上游厂商发布安全补丁,并不代表所有终端立即完成升级:大型企业往往还要经过测试、部署和重启,攻击窗口可能持续数天甚至数月。

以往,下游企业往往抱有侥幸心理,认为黑客难以在短时间内还原这些复杂的漏洞,发起大规模攻击的成本较高。

然而,随着 AI 安全能力的逐渐成熟,从补丁发布到被黑客成功利用的时间窗口将被大幅缩短。

过去依赖这一时间差建立的安全防线,或将很快失效。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:看雪学苑 DARKNAVY DARKNAVY《攻破微软 Edge 浏览器的 Pwn2Own 全链路逻辑漏洞技术分析》

评论:0   参与:  0