×
隔离实验室中异常请求被修复后的授权防线阻断并完成回归验证的示意图
隔离实验室中异常请求被修复后的授权防线阻断并完成回归验证的示意图
授权实验室研究

CVE-2025-29927 可绕过仅位于 Next.js Middleware 的授权检查。本文只给出隔离靶场中的判定、检测和修复回归方法,不提供公网扫描与批量利用脚本。

修复版本:12.3.5 / 13.5.9 / 14.2.25 / 15.2.3 优先级:

一、影响模型

该问题使特制内部请求头影响 Middleware 处理流程。如果应用把全部授权逻辑只放在 Middleware,受保护路由可能在未完成预期检查时继续处理。自托管 next startoutput: standalone 场景受到关注;应以官方公告中的部署条件为准。

二、实验边界

  • 目标只允许 127.0.0.1 或隔离 Docker 网络。
  • 应用只包含虚拟账号和无价值的 /admin-demo 页面。
  • 验证在“受保护页面状态码发生变化”处停止,不读取数据或继续操作。
  • 不向公网目标发送探测,不记录第三方 Cookie、令牌或响应正文。

三、正常对照

先验证未登录访问演示管理页会返回 401/403 或安全重定向,并记录 Next.js 版本、启动方式、请求时间和状态码。没有正常对照,就无法判断后续行为是否由漏洞引起。

四、最小化验证思路

在隔离副本中,使用单次人工请求比较默认请求与模拟内部链路请求的授权结果。只记录状态码、Location、服务端 Middleware 日志和路由是否进入;不访问真实管理功能。为降低误用风险,本文不展示可直接复制的绕过头值。

五、修复与临时缓解

优先升级至官方安全版本。无法立即升级时,在最外层反向代理阻止外部请求携带 Next.js 内部使用的 Middleware 子请求头,并在目标路由和 API 内执行服务端二次鉴权。反向代理过滤是临时缓解,不能替代升级。

六、检测线索

检查边缘代理和应用日志中来自公网却携带框架内部请求头的流量;关注对受保护路由出现异常 200、授权中间件未记录但路由已处理、同一来源短时间探测多个管理路径等现象。

七、修复后回归

  1. 确认运行版本已进入安全范围。
  2. 重复未登录正常请求,结果仍应拒绝。
  3. 重复隔离验证请求,不能跳过 Middleware。
  4. 在路由/API 移除会话后,二次授权仍应拒绝。
  5. 验证反向代理规则不影响内部健康检查和合法请求。

官方来源

最后核验:2026-08-12。实验仅限自有或明确授权环境。

作者

相关文章