Next.js 中的严重漏洞可让黑客绕过授权

B站影视 内地电影 2025-04-19 07:51 1

摘要:Next.js 是一个广受欢迎的 React 框架,在 npm 上,每周的下载量超过 900 万次。它被用于构建全栈 Web 应用程序,其中包含用于身份验证和授权的中间件组件。前端和全栈开发人员借助它,通过 React 构建 Web 应用程序。一些知名公司,如

在 Next.js 这个开源的 Web 开发框架中,发现了一个严重漏洞,攻击者有可能借此绕过授权检查。

该漏洞编号为 CVE-2025-29927,攻击者利用此漏洞,无需经过关键的安全检查,就能发送请求并到达目标路径。

Next.js 是一个广受欢迎的 React 框架,在 npm 上,每周的下载量超过 900 万次。它被用于构建全栈 Web 应用程序,其中包含用于身份验证和授权的中间件组件。前端和全栈开发人员借助它,通过 React 构建 Web 应用程序。一些知名公司,如 TikTok、Twitch、Hulu、Netflix、Uber 和 Nike 等,都在其网站或应用程序中使用了 Next.js。

绕过授权机制的原理

在 Next.js 中,中间件组件会在请求到达应用程序路由系统之前运行,其作用包括身份验证、授权、日志记录、错误处理、重定向用户、实施地理封锁或速率限制等。

为避免中间件自身陷入无限循环的重新触发,Next.js 采用了一个名为 “x-middleware-subrequest” 的标头,以此指示是否应应用中间件功能。负责处理传入请求的 “runMiddleware” 函数会检索该标头。

一旦检测到 “x-middleware-subrequest” 标头具有特定值,整个中间件执行链就会被绕过,请求会被直接转发到目的地。

攻击者能够手动发送包含正确值标头的请求,进而绕过保护机制。据发现此漏洞并发表技术文章的研究人员 Allam Rachid 和 Allam Yasser (inzo_) 称,“该标头及其值就像一把通用钥匙,能够覆盖规则。”

受影响版本与建议

该漏洞影响所有早于 15.2.3、14.2.25、13.5.9 和 12.3.5 的 Next.js 版本。鉴于利用此安全问题的技术细节已公开,建议用户尽快升级到较新版本。

Next.js 的安全公告明确指出,CVE-2025-29927 仅影响使用 “next start” 和 “output: standalone” 的自托管版本。托管在 Vercel 和 Nerlify 上,或者部署为静态导出的 Next.js 应用则不受影响。同样受影响的,还有那些使用中间件进行授权或安全检查,且在应用程序后期没有验证的环境。

若暂时无法进行修补,建议阻止外部用户发送包含 “x-middleware-subrequest header” 的请求。

来源:Web3软件开发一点号

相关推荐