内容提要
Next.js 存在低严重性缓存中毒漏洞,影响版本 >14.2.24 到 <15.1.6。攻击者可利用请求间的竞争条件导致 CDN 缓存中毒。该漏洞已在 15.1.6 和 14.2.24 中修复。建议自托管用户移除请求中的 x-now-route-matches 头部并设置缓存控制。
关键要点
-
Next.js 存在低严重性缓存中毒漏洞,影响版本 >14.2.24 到 <15.1.6。
-
攻击者可利用请求间的竞争条件导致 CDN 缓存中毒。
-
该漏洞已在 15.1.6 和 14.2.24 中修复。
-
建议自托管用户移除请求中的 x-now-route-matches 头部并设置缓存控制。
-
Vercel 平台上的应用不受此问题影响,因为该平台不会仅基于 200 OK 状态缓存响应。
-
成功利用该漏洞依赖于精确的时机和脆弱的 CDN 配置。
延伸解读
漏洞影响范围
Next.js 的缓存中毒漏洞影响版本在 14.2.24 以上至 15.1.6 以下。用户应特别注意这些版本的使用情况,及时更新以避免潜在的安全风险。
自托管用户的应对措施
对于自托管的 Next.js 用户,建议立即移除请求中的 x-now-route-matches 头部,并设置缓存控制,以降低被攻击的风险。这是防止 CDN 缓存中毒的有效措施。
Vercel 平台的安全性
使用 Vercel 平台的应用不受此漏洞影响,因为该平台不会仅基于 200 OK 状态缓存响应。这为开发者提供了额外的安全保障,减少了维护负担。
延伸问答
Next.js 的缓存中毒漏洞是什么?
Next.js 存在一个低严重性缓存中毒漏洞,影响版本 >14.2.24 到 <15.1.6,攻击者可利用请求间的竞争条件导致 CDN 缓存中毒。
如何修复 Next.js 的缓存中毒漏洞?
该漏洞已在版本 15.1.6 和 14.2.24 中修复,修复方法是移除请求中的 x-now-route-matches 头部。
哪些版本的 Next.js 受到缓存中毒漏洞的影响?
受影响的版本是 Next.js >14.2.24 到 <15.1.6。
Vercel 平台上的应用是否受到此漏洞影响?
不受影响,因为 Vercel 平台不会仅基于 200 OK 状态缓存响应。
攻击者如何利用这个缓存中毒漏洞?
攻击者通过利用请求间的竞争条件,将非缓存请求的响应体注入到正常请求中,从而导致缓存中毒。
自托管用户如何缓解这个漏洞?
自托管用户可以移除请求中的 x-now-route-matches 头部,并设置缓存控制为 no-store。