Next.js曝严重安全漏洞CVE-2025-29927,漏洞评 9.1/10, 开发者需尽快升级修复

Next.js曝严重安全漏洞CVE-2025-29927,漏洞评 9.1/10, 开发者需尽快升级修复

近日,Next.js 官方发布安全公告,披露其中间件系统中存在一个严重的授权绕过漏洞,编号为 CVE-2025-29927。该漏洞允许攻击者通过构造特殊请求,绕过中间件的安全检查机制,获取对受保护资源的未授权访问权限。这一漏洞对依赖中间件进行身份验证和授权控制的Web应用构成重大安全风险。

该漏洞影响以下版本的 Next.js:
 • 14.2.25 之前版本
 • 15.2.3 之前版本

尤其是那些在中间件中执行授权检查、但未对 x-middleware-subrequest 请求头进行验证的应用,风险尤为严重。

漏洞原理

Next.js 的中间件通常用于拦截 HTTP 请求,执行访问控制等安全策略。然而,攻击者可在请求中伪造 x-middleware-subrequest: true 请求头,中间件若未进行适当校验,便可能直接放行请求,从而绕过安全校验逻辑。

攻击方式示例

攻击者可构造如下请求实现绕过:

GET /protected-route HTTP/1.1  
Host: vulnerable-app.com (http://vulnerable-app.com/)  
x-middleware-subrequest: true  

若中间件未拦截或校验此请求头,系统将可能错误地授予访问权限。

修复建议

Next.js 已在以下版本中修复该漏洞:
 • 14.2.25
 • 15.2.3

建议开发者立即升级至最新版本。若短期内无法完成升级,可通过在中间件中添加如下逻辑实现临时防护:

export function middleware(request: NextRequest) {
  if (request.headers.has(‘x-middleware-subrequest’)) {
    return new Response(‘Unauthorized’, { status: 401 });
  }
  return NextResponse.next (http://nextresponse.next/)();
}

检测与防御

开发者可通过监控 HTTP 请求日志,识别是否存在可疑请求头 x-middleware-subrequest,例如:

GET /protected-route HTTP/1.1 200 – x-middleware-subrequest: true

建议结合日志分析工具设置告警规则,及时发现潜在攻击行为。

附件内容
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容