漏洞信息
Next.js 是一个基于 React 的流行 Web 应用框架,提供服务器端渲染、静态网站生成和集成路由系统等功能。包含众多功能,是深入研究复杂研究的完美游乐场。在信念、好奇心和韧性的推动下,我们出发去探索它鲜为人知的方面,寻找等待被发现的隐藏宝藏。
当使用中间件进行身份验证和授权时,Next.js 14.2.25 和 15.2.3 之前的版本存在授权绕过漏洞。
该漏洞允许攻击者通过操作 x-middleware-subrequest
请求头来绕过基于中间件的安全控制,从而可能获得对受保护资源和敏感数据的未授权访问。
补丁:
- 对于 Next.js 15.x,此问题已在 15.2.3 中修复
- 对于 Next.js 14.x,此问题已在 14.2.25 中修复
漏洞复现
vulhub已有环境:vulhub/next.js/CVE-2025-29927/README.zh-cn.md at master · vulhub/vulhub (github.com)
启动环境:
docker compose up -d
访问虚拟机3000端口,可以看到环境搭建成功:http://your-ip:3000/login
访问根路径,显示需要登陆:
添加请求头,使用权限绕过payload
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
访问成功,权限绕过漏洞复现成功
参考文章
Next.js 和损坏的中间件:授权工件 - zhero_web_security (zhero-web-sec.github.io)
vulhub/next.js/CVE-2025-29927/README.zh-cn.md at master · vulhub/vulhub (github.com)
CVE 2025 29927 Nextjs Auth Bypass - chestnut's blog (ch35tnut.com)
Next.js中间件授权绕过漏洞终极指南:CVE-2025-29927深度解析与防护策略 - 高效码农 (xugj520.cn)
Comparing v15.2.2...v15.2.3 · vercel/next.js (github.com)
代码审计知识星球 (zsxq.com)
本文作者CVE-柠檬i
CSDN:https://blog.csdn.net/weixin_49125123
博客园:https://www.cnblogs.com/CVE-Lemon
微信公众号:Lemon安全