研究员揭示仅凭逻辑缺陷就在 17.5 万美元 Pwn2Own 夺冠中攻破 Microsoft Edge 的方法
- 浏览次数 56
- 喜欢 0
一位安全研究员展示了一条不含内存损坏的逻辑缺陷链,可以将恶意网页变成在 Microsoft Edge 沙箱之外的 Windows 计算机上运行的代码。
DEVCORE 的 Orange Tsai 于 10 月 28 日发布了完整方法,距该漏洞利用链在 5 月的 Pwn2Own Berlin 大赛中赢得 17.5 万美元已过去五个月。Microsoft 在比赛次日修复了 Edge 缺陷,因此最新版本的浏览器不受风险。
浏览器沙箱是将网页代码限制在浏览器内、远离计算机其余部分的墙。突破它然后运行程序,才能将 Web 缺陷变成对机器的完全控制。
此类浏览器逃逸几乎总是依赖内存损坏。而这一次完全没有使用。在其文章中,Tsai 描述了一条完全由 Edge 和 Windows 处理普通功能时的逻辑错误构建的链,他表示整个漏洞利用代码不到 100 行。
其结果是一个通用跨站脚本(UXSS)原语:一种在任何网站上运行 JavaScript 的方法,绕过旨在防止它的内容安全策略。
因为攻击从浏览器自身的进程开始,它可以触及普通 Web 缺陷无法触及的 google.com 等站点。Tsai 称这是一个新的攻击面,而非一次性的缺陷。
这是一次比赛漏洞利用,而非在野观察到的攻击。Tsai 在 Pwn2Own 舞台上演示了它;没有证据表明它已被用于攻击真实用户,且公开的 CVE 记录将利用情况列为无。链中的一步会重启浏览器,Tsai 指出这是为比赛提供的便利,在真实攻击中并不需要。
该链始于 Edge 的一项用于企业登录的功能,称为条件访问导航节流。Tsai 发现,触发它可以让浏览器自身的进程启动一个与请求它的页面无关的新导航,因此 Edge 会将其附加到当前打开的任意标签页。这种不匹配是第一个缺陷,并产生了 UXSS。
要让它在无需点击的情况下运行,又利用了另外四个弱点。Edge 检查请求是否来自受信任的 Microsoft 站点,但 Tsai 通过从第二个窗口打开请求绕过了该检查。Edge 的弹窗拦截器本应阻止该窗口,但 Edge 携带一个硬编码的允许地址列表,其中之一打开了弹窗。
该攻击还要求受害者已经登录,而 Edge 的自动登录功能在用户访问 Microsoft 站点时会自行提供。最后,该链从 Microsoft 站点 assets.msn.com 读取受害者的电子邮件地址,由于一个配置错误的跨域设置,该站点将其返回给任何网站。
在任何地方运行 JavaScript 仍然不等于控制计算机。为逃逸沙箱,Tsai 利用了 Edge 的阅读模式 Immersive Reader,它运行在自定义的 read:// 地址下,而 Microsoft 未将该地址列入禁止运行脚本的页面列表。
从这里,该链调用了一个旨在打包诊断日志的 Edge 内部函数,并滥用它在磁盘上任意位置写入一个具有攻击者所选名称和内容的文件。
该文件写入通过两个步骤转化为代码执行。该链覆盖一个控制哪些网站可以启动哪些协议处理程序的配置文件,然后重启 Edge 使该文件被读取。随后它启动一个 telnet:// 链接;由于 Windows 默认不附带 telnet 程序,系统会在系统路径中搜索一个并运行攻击者植入的副本,该副本位于低权限用户可写入的文件夹中。
Microsoft 于 5 月 15 日(比赛次日)在 Edge Stable 148.0.3967.70 版本中发布了修复。该版本包含三个 Edge 特定的修复,被追踪为 CVE-2026-45492、CVE-2026-45494 和 CVE-2026-45495。第一个被记录为安全功能绕过,第二个被记录为欺骗缺陷,两者均影响 148.0.3967.70 之前的 Edge 版本。
Microsoft 的记录将前两者评为 10 分制的 5.4 分,这是一个中等评分,反映的是单个缺陷的孤立情况,而非将它们串联成代码执行的完整链。DEVCORE 表示,修复在披露后 24 小时内完成。
更新 Edge 可关闭这条链。由于修复于 5 月发布,开启自动更新的浏览器早已收到它,无需单独操作。
Tsai 用大约两个月的时间手工构建了这条链,没有借助任何 AI,并将这项工作定位为关于人类研究仍然重要之处的例证。"困难的部分是找到它们,一旦你全部找到,串联是最容易的部分,"他在谈到这些逻辑缺陷时写道。该研究赢得了 2026 年 Pwnie Award 的 Epic Achievement 奖。