next.js再出严重安全漏洞

admin 2025年3月26日09:02:31评论14 views字数 841阅读2分48秒阅读模式
受影响资产
    依赖next.js进行身份验证或安全检查的应用程序。

漏洞利用方式

该漏洞可通过添加x-middleware-subrequest: middleware标头来绕过 Next.js 的身份验证检查。

漏洞编号

CVE-2025-29927

漏洞原理

这里稍稍引用大佬的原文内容。

next.js再出严重安全漏洞

主要的漏洞原因就是这段标圈的代码会取headerx-middleware-subrequest的值,然后使用:进行分割,最后问题在于只要校验这个请求头内容里面包含middlewareInfo.name就无视next.js的认证直接bypass

这里的middlewareInfo.name即中间件所在的路径。

12.2版本之前,中间件文件的命名为_middleware.ts,在之后的版本则为middleware.ts,因此可能的payload包含:

x-middleware-subrequest: pages/_middlewarex-middleware-subrequest: middlewarex-middleware-subrequest: src/middleware......

而在较新的版本中,代码逻辑相比之前稍稍有些许变化,看以下这段代码,可以看到需要进行5次分割。

next.js再出严重安全漏洞

因此在较新版本里面payload为:

x-middleware-subrequest: middleware:middleware:middleware:middleware:middlewarex-middleware-subrequest: src/middleware:src/middleware:src/middleware:src/middleware:src/middleware.....

漏洞复现

如下,内部刚好有一个使用next.js进行身份验证的应用,直接访问可以看到,无法认证,授权不通过。

next.js再出严重安全漏洞
使用payload绕过认证,如下,直接访问认证后的应用。
next.js再出严重安全漏洞

原文始发于微信公众号(安全无界):next.js再出严重安全漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月26日09:02:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   next.js再出严重安全漏洞http://cn-sec.com/archives/3885246.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息