vercel/next.js · Security
Authorization Bypass in Next.js Middleware
- GHSA ID
- GHSA-f82v-jwr5-mffw
- CVE ID
- CVE-2025-29927
- Severity
- critical
- Published
- Updated
- CVSS
- 9.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- CVSS v3
- 9.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Description
Impact
It is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware.
Patches
- For Next.js 15.x, this issue is fixed in
15.2.3 - For Next.js 14.x, this issue is fixed in
14.2.25 - For Next.js 13.x, this issue is fixed in 13.5.9
- For Next.js 12.x, this issue is fixed in 12.3.5
- For Next.js 11.x, consult the below workaround.
Note: Next.js deployments hosted on Vercel are automatically protected against this vulnerability.
Workaround
If patching to a safe version is infeasible, we recommend that you prevent external user requests which contain the x-middleware-subrequest header from reaching your Next.js application.
Credits
- Allam Rachid (zhero;)
- Allam Yasser (inzo_)
CWEs
- CWE-285 · Improper Authorization
- CWE-863 · Incorrect Authorization
References
- https://github.com/vercel/next.js/security/advisories/GHSA-f82v-jwr5-mffw ↗
- https://github.com/vercel/next.js/commit/52a078da3884efe6501613c7834a3d02a91676d2 ↗
- https://github.com/vercel/next.js/commit/5fd3ae8f8542677c6294f32d18022731eab6fe48 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2025-29927 ↗
- https://github.com/vercel/next.js/releases/tag/v12.3.5 ↗
- https://github.com/vercel/next.js/releases/tag/v13.5.9 ↗
- https://vercel.com/changelog/vercel-firewall-proactively-protects-against-vulnerability-with-middleware ↗
- http://www.openwall.com/lists/oss-security/2025/03/23/3 ↗
- http://www.openwall.com/lists/oss-security/2025/03/23/4 ↗
- https://security.netapp.com/advisory/ntap-20250328-0002 ↗
- https://github.com/advisories/GHSA-f82v-jwr5-mffw ↗