【vulhub漏洞复现】Auth Bypass -- Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927)

本文最后更新于 2026年1月19日 上午

1.漏洞原理

Next.js 是一个基于 React 的流行 Web 应用框架(前端框架),提供服务器端渲染、静态网站生成和集成路由系统等功能。当使用中间件进行身份验证和授权时,Next.js 14.2.25 和 15.2.3 之前的版本存在授权绕过漏洞。

该漏洞允许攻击者通过操作 x-middleware-subrequest 请求头来绕过基于中间件的安全控制,从而可能获得对受保护资源和敏感数据的未授权访问。

Next.js是一个前端框架,在访问后端api接口时,就会在请求中自动带上x-middleware-subrequest: middleware这个参数,这是一个内部请求标记,为了防止中间件循环执行,例如:用户点击跳转/order页面,需要加载后端数据,这是Next.js就需要让中间件去访问后端api接口,访问后端/api/user-profile,这是就要带上x-middleware-subrequest: middleware这个参数。

Next.js 身份验证绕过漏洞(CVE-2023-46805),这个漏洞正是利用了 x-middleware-subrequest 的逻辑缺陷:

  • Next.js 中间件在解析 x-middleware-subrequest 的值时,对多层嵌套的 middleware: 前缀(如 middleware:middleware:middleware:middleware:middleware)处理不当。

  • 当攻击者构造这种多层嵌套的请求头时,中间件会错误地判定这是一个合法的内部子请求,从而直接跳过所有身份验证逻辑(比如 next-auth 登录校验、自定义权限判断),让未授权请求访问受保护的路由。

2.漏洞利用

漏洞首页

可以看到网站指纹,Next.js 、React、 Python

访问http://your-ip:3000会自动跳转到/login

利用这点,添加x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware参数

成功绕过


【vulhub漏洞复现】Auth Bypass -- Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927)
http://www.ybyb.org.cn/2026/01/16/【vulhub漏洞复现】Auth-Bypass-Next-js-中间件鉴权绕过漏洞-CVE-2025-29927/
作者
LHN
发布于
2026年1月16日
许可协议