💡
原文英文,约300词,阅读约需2分钟。
📝
内容提要
Next.js 中间件存在 SSRF 漏洞,影响 v14.2.32 和 v15.4.7 之前的版本。错误使用 NextResponse.next() 函数可能导致请求被攻击者控制。2025年8月25日发布的补丁已修复此问题,建议用户遵循官方指导以避免安全风险。
🎯
关键要点
- Next.js 中间件存在 SSRF 漏洞,影响 v14.2.32 和 v15.4.7 之前的版本。
- 错误使用 NextResponse.next() 函数可能导致请求被攻击者控制。
- 2025年8月25日发布的补丁已修复此问题,建议用户遵循官方指导以避免安全风险。
- 攻击者可以影响中间件路由逻辑触发的内部请求的目标。
- 如果用户控制的头部(如 Location)未经过验证而被转发,可能会对内部基础设施进行 SSRF 攻击。
- 在自托管部署中,开发者使用自定义中间件逻辑时可能会利用此漏洞。
- Vercel 基础设施不受此漏洞影响,能够隔离和保护内部请求行为。
- 通过更新内部中间件逻辑,防止在 next() 调用中省略请求时的不安全回退行为来解决此问题。
- 用户应确保中间件遵循官方指导,使用 NextResponse.next({ request }) 明确传递请求对象。
- 避免在未验证的情况下将用户控制的头部转发到下游系统。
- 确保不应从客户端发送到服务器的头部不会通过 NextResponse.next 反射回客户端。
❓
延伸问答
CVE-2025-57822 漏洞影响了哪些 Next.js 版本?
该漏洞影响了 v14.2.32 和 v15.4.7 之前的版本。
如何修复 Next.js 中间件的 SSRF 漏洞?
通过更新内部中间件逻辑,确保使用 NextResponse.next({ request }) 明确传递请求对象来修复此漏洞。
攻击者如何利用此 SSRF 漏洞?
攻击者可以影响中间件路由逻辑触发的内部请求目标,或对内部基础设施进行 SSRF 攻击。
Vercel 基础设施是否受到此漏洞影响?
Vercel 基础设施不受此漏洞影响,能够隔离和保护内部请求行为。
用户在使用 Next.js 中间件时应注意哪些安全措施?
用户应确保中间件遵循官方指导,避免在未验证的情况下将用户控制的头部转发到下游系统。
补丁何时发布以修复 CVE-2025-57822 漏洞?
补丁于 2025年8月25日发布。
➡️