CVE-2025-49005

CVE-2025-49005

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

Next.js App Router 15.3.0至15.3.2和Vercel CLI 41.4.1至42.2.0存在缓存中毒漏洞,已修复。该漏洞可能导致HTML请求返回React服务器组件。修复方法包括正确设置Vary头和重新部署应用。

🎯

关键要点

  • Next.js App Router 15.3.0至15.3.2和Vercel CLI 41.4.1至42.2.0存在缓存中毒漏洞,已修复。
  • 该漏洞可能导致HTML请求返回React服务器组件(RSC)负载。
  • 在Vercel上部署时,仅影响浏览器缓存,不会导致CDN中毒。
  • 自托管和外部部署时,如果CDN未正确区分RSC/HTML,可能导致缓存中毒。
  • 特定条件下,应用可能会错误地提供RSC负载而非HTML,并在浏览器或CDN层缓存这些响应。
  • 问题发生在中间件重写或重定向导致缓存键分离不当的环境中。
  • Next.js 15.3.3通过正确设置Vary头来解决此问题,以区分不同内容类型。
  • 使用受影响CLI版本的Vercel客户必须重新部署应用以接收修复。
  • 手动在RSC响应中添加Vary头以区分RSC和HTML负载。
  • 对中间件重定向目标应用唯一的缓存破坏搜索参数。
  • 感谢内部事件响应团队和受影响的Vercel客户的及时报告和调试协助。

延伸问答

CVE-2025-49005漏洞的影响是什么?

该漏洞可能导致HTML请求返回React服务器组件(RSC)负载,从而影响应用的正常显示。

如何修复CVE-2025-49005漏洞?

修复方法包括在Next.js 15.3.3中正确设置Vary头,并重新部署使用受影响CLI版本的应用。

哪些版本的Next.js和Vercel CLI受到CVE-2025-49005漏洞影响?

受影响的版本包括Next.js App Router 15.3.0至15.3.2和Vercel CLI 41.4.1至42.2.0。

在什么情况下会导致缓存中毒?

当CDN未正确区分RSC和HTML,且中间件重写或重定向导致缓存键分离不当时,可能会导致缓存中毒。

Vercel上部署时该漏洞会影响哪些内容?

在Vercel上部署时,该漏洞仅影响浏览器缓存,不会导致CDN中毒。

如何手动添加Vary头以区分RSC和HTML?

在RSC响应中手动添加Vary头,内容应为'Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch'。

➡️

继续阅读