Next.js
Next.js 是一个基于 React 的现代 Web 开发框架,用来构建高性能、可扩展的 Web 应用和网站。
CVE-2025-29927 Next.js 中间件鉴权绕过漏洞
CVE-2025-29927是Next.js框架中的一个授权绕过漏洞,允许攻击者通过特制的HTTP请求绕过在中间件中执行的授权检查,从而可能访问受保护的资源或执行未经授权的操作。
该漏洞的根源在于Next.js使用了一个内部HTTP头x-middleware-subrequest来防止中间件的递归调用。攻击者可以伪造此头部,导致中间件被跳过,从而绕过关键的安全检查。
影响版本
- Next.js 1.11.4至12.3.4
- Next.js 13.0.0至13.5.8
- Next.js 14.0.0至14.2.24
- Next.js 15.0.0至15.2.2
漏洞复现
参考:https://github.com/vulhub/vulhub/blob/master/next.js/CVE-2025-29927/README.zh-cn.md
环境:vulhub
当直接访问 http://192.168.67.165:3000 或者没有使用正确的登录凭据进行登录时,会重定向到登录界面
要利用此漏洞,你可以在请求中添加 x-middleware-subrequest 请求头,其值为如下所示。Next.js 中间件会错误地处理此请求头并绕过身份验证检查,从而无需输入有效登录凭据而直接进入后台。
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
#或者
x-middleware-subrequest: src/middleware:nowaf:src/middleware:src/middleware:src/middleware:src/middleware:middleware:middleware:nowaf:middleware:middleware:middleware:pages/_middleware