You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Authorization Bypass in Next.js Middleware
Critical severity
GitHub Reviewed
Published
Mar 21, 2025
in
vercel/next.js
•
Updated Oct 13, 2025
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.
The product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action.
Learn more on MITRE.
The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.
Learn more on MITRE.
Impact
It is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware.
Patches
15.2.314.2.25Note: 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-subrequestheader from reaching your Next.js application.Credits
References