Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927)
免责声明
仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。
0x01 产品介绍
Next.js 中间件(Middleware)是一种在请求完成前拦截并处理路由的轻量级机制,它运行在Edge Runtime(边缘运行时)环境中,允许开发者通过编写代码逻辑(如身份验证、路由重定向、Header修改等)在页面渲染前动态控制请求流程。中间件文件通常命名为 middleware.js/ts
并放置在项目根目录或特定路径下,基于请求的路径(request.nextUrl
)和上下文(如Cookies、Headers)执行逻辑,支持条件路由、A/B测试、服务端逻辑前置等场景,同时保持边缘计算的高性能低延迟特性。
0x02 漏洞描述&影响版本
漏洞源于当中间件需要向内部路由发出请求时(例如获取数据或验证信息),Next.js 会自动添加x-middleware-subrequest头,以标识这是一个内部请求,防止中间件陷入无限循环。漏洞出现的关键点是 Next.js