点击关注,获取更多漏洞预警,技术分享
0x01 组件介绍
Next.js 是由 Vercel 开发的基于 React 的现代 Web 应用框架,具备前后端一体的开发能力,提供服务器端渲染、静态网站生成和集成路由系统等功能。
fofa语法:app="NEXT.JS"
0x02 漏洞描述近日,Next.js 官方披露了一个严重级别的安全漏洞(CVE-2025-29927/GHSA-f82v-jwr5-mffw),该漏洞影响了大量使用 Next.js 中间件实现授权功能的应用程序。该漏洞源于Next.js使用中间件进行身份验证和授权的过程存在漏洞,该漏洞允许攻击者通过操作 x-middleware-subrequest 请求头来绕过基于中间件的安全控制,从而可能获得对受保护资源和敏感数据的未授权访问。
-
内部子请求标识:当中间件需要向内部路由发出请求时(例如获取数据或验证信息),Next.js 会自动添加
x-middleware-subrequest
头,以标识这是一个内部请求,防止中间件陷入无限循环。 -
来源验证缺失:漏洞出现的关键点是 Next.js 没有正确验证这个头的来源。当外部请求携带此头时,中间件错误地将其识别为内部子请求。
-
中间件执行逻辑:当检测到
x-middleware-subrequest
头时,Next.js 会跳过对该请求的中间件执行,直接将请求传递给目标路由或 API。 -
授权绕过实现:攻击者只需在请求中添加特殊的头部信息,就能使中间件的授权检查被完全跳过,直接访问受保护资源。
|
|
||
|
|
|
|
|
|
|
|
0x04 漏洞验证
目前POC/EXP已经公开(需要知道复现过程的,后台留言:CVE-2025-29927)
概念性验证:
发送数据包,出现下面的即可证明漏洞存在
(1)正常访问,无法绕过权限认证
0x05 漏洞影响
由于该漏洞影响范围较广,危害较大。通过以上复现过程,我们可以知道该漏洞的利用过程比较简单,且能造成的危害是高危的,可以对受保护资源和敏感数据的未授权访问。企业应该尽快排查是否有使用该组件,并尽快做出对应措施。
0x06 修复建议
1.升级 Next.js 版本:
2. 临时缓解措施(如无法立即升级):
x-middleware-subrequest
头Nginx 配置示例:
# 所有传入的x-middleware-subrequest头置为空
proxy_set header x-middleware-subrequest ""
0X07 参考链接
0x08 免责声明> 本文所涉及的任何技术、信息或工具,仅供学习和参考之用。> 请勿利用本文提供的信息从事任何违法活动或不当行为。任何因使用本文所提供的信息或工具而导致的损失、后果或不良影响,均由使用者个人承担责任,与本文作者无关。> 作者不对任何因使用本文信息或工具而产生的损失或后果承担任何责任。使用本文所提供的信息或工具即视为同意本免责声明,并承诺遵守相关法律法规和道德规范。
原文始发于微信公众号(安全探索者):【已复现】Next.js middleware 权限绕过漏洞(CVE-2025-29927)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论