CVE-2026-44573Next.js是一个用于构建全栈Web应用程序的React框架。在12.2.0至15.5.16之前和16.2.5之前的版本中,使用Pages Router并配置了i18n及基于中间件授权的应用存在安全漏洞。攻击者可以通过无语言前缀的/_next/data/<buildId>/<page>.json请求,未经授权访问受保护页面的数据。由于中间件不为此未加前缀的数据路由运行,攻击者可绕过身份验证检索SSR JSON数据。该漏洞已在15.5.16和16.2.5版本中修复。
该漏洞的核心在于Next.js处理国际化(i18n)路由与中间件执行逻辑的差异。在受影响的配置中,开发者通常依赖中间件来拦截并验证用户对特定页面的访问权限。然而,Next.js用于支持客户端导航的内部数据端点(/_next/data/...)在处理未包含语言前缀的请求时,可能不会正确触发关联的中间件链。具体而言,当应用配置了i18n,正常页面访问通常带有语言前缀(如/en/dashboard),中间件会对此进行鉴权。但如果攻击者直接访问底层数据接口/_next/data/<buildId>/dashboard.json,且该请求未匹配到i18n的重写规则,中间件可能被完全绕过。这使得攻击者能够直接获取服务端渲染(SSR)生成的JSON响应,从而泄露本应受保护的页面内容,导致敏感信息泄露。