一、漏洞概述
近日,绿盟科技CERT监测到Next.js发布安全公告,修复了Next.js中间件权限绕过漏洞(CVE-2025-29927);由于Next.js对x-middleware-subrequest标头的来源缺乏有效校验,当配置使用中间件进行身份验证和授权时,未经身份验证的攻击者可通过操作x-middleware-subrequest请求头绕过系统权限控制,从而访问目标的受保护资源。目前漏洞细节与PoC已公开,请相关用户尽快采取措施进行防护。
Next.js是Node.js生态中基于React的开源Web框架,其通过Server Actions功能提供了后端开发能力。
绿盟科技已成功复现此漏洞:
参考链接:
https://github.com/vercel/next.js/security/advisories/GHSA-f82v-jwr5-mffw
二、影响范围
受影响版本
- 1.4 <= Next.js <= 13.5.6
- 0.0 <= Next.js <= 14.2.24
- 0.0 <= Next.js <= 15.2.2
注:影响使用中间件自托管的Next.js应用程序。
不受影响版本
- Nexjs = 12.3.5
- js >= 13.5.9
- js >= 14.2.25
- js >= 15.2.3
三、暴露面风险排查
-
- 云端检测
绿盟科技外部攻击面管理服务(EASM)支持CVE-2025-29927漏洞风险的互联网资产排查,目前已帮助服务客户群体完成了暴露面排查,在威胁发生前及时进行漏洞预警与闭环处置。
感兴趣的客户可通过联系绿盟当地区域同事或发送邮件至rs@nsfocus.com安排详细的咨询交流。
- 本地排查
绿盟科技自动化渗透测试工具(EZ)支持Next.js应用的指纹识别,可直接使用web模块进行扫描检测。
工具下载链接:https://github.com/m-sec-org/EZ/releases
新用户请注册M-SEC社区(https://msec.nsfocus.com)申请证书进行使用:
四、漏洞防护
-
- 官方升级
目前官方已发布新版本修复此漏洞,请受影响的用户尽快升级防护,下载链接:https://github.com/vercel/next.js/releases
- 临时防护措施
若相关用户暂时无法进行升级操作,也可通过拦截包含x-middleware-subrequest标头的请求进行临时缓解。
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。