GHSA-f82v-jwr5-mffw
Vulnerability from github
Published
2025-03-21 15:20
Modified
2025-09-10 21:13
Severity ?
VLAI Severity ?
Summary
Authorization Bypass in Next.js Middleware
Details
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, it is 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_)
{ "affected": [ { "package": { "ecosystem": "npm", "name": "next" }, "ranges": [ { "events": [ { "introduced": "13.0.0" }, { "fixed": "13.5.9" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "npm", "name": "next" }, "ranges": [ { "events": [ { "introduced": "14.0.0" }, { "fixed": "14.2.25" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "npm", "name": "next" }, "ranges": [ { "events": [ { "introduced": "15.0.0" }, { "fixed": "15.2.3" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "npm", "name": "next" }, "ranges": [ { "events": [ { "introduced": "11.1.4" }, { "fixed": "12.3.5" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-29927" ], "database_specific": { "cwe_ids": [ "CWE-285", "CWE-863" ], "github_reviewed": true, "github_reviewed_at": "2025-03-21T15:20:12Z", "nvd_published_at": "2025-03-21T15:15:42Z", "severity": "CRITICAL" }, "details": "# Impact\nIt is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware.\n\n# Patches\n* For Next.js 15.x, this issue is fixed in `15.2.3`\n* For Next.js 14.x, this issue is fixed in `14.2.25`\n* For Next.js 13.x, this issue is fixed in `13.5.9`\n* For Next.js 12.x, this issue is fixed in `12.3.5`\n* For Next.js 11.x, consult the below workaround.\n\n_Note: Next.js deployments hosted on Vercel are automatically protected against this vulnerability._\n\n# Workaround\nIf patching to a safe version is infeasible, it is recommend that you prevent external user requests which contain the `x-middleware-subrequest` header from reaching your Next.js application.\n\n## Credits\n\n- Allam Rachid (zhero;)\n- Allam Yasser (inzo_)", "id": "GHSA-f82v-jwr5-mffw", "modified": "2025-09-10T21:13:17Z", "published": "2025-03-21T15:20:12Z", "references": [ { "type": "WEB", "url": "https://github.com/vercel/next.js/security/advisories/GHSA-f82v-jwr5-mffw" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-29927" }, { "type": "WEB", "url": "https://github.com/vercel/next.js/commit/52a078da3884efe6501613c7834a3d02a91676d2" }, { "type": "WEB", "url": "https://github.com/vercel/next.js/commit/5fd3ae8f8542677c6294f32d18022731eab6fe48" }, { "type": "PACKAGE", "url": "https://github.com/vercel/next.js" }, { "type": "WEB", "url": "https://github.com/vercel/next.js/releases/tag/v12.3.5" }, { "type": "WEB", "url": "https://github.com/vercel/next.js/releases/tag/v13.5.9" }, { "type": "WEB", "url": "https://security.netapp.com/advisory/ntap-20250328-0002" }, { "type": "WEB", "url": "https://vercel.com/changelog/vercel-firewall-proactively-protects-against-vulnerability-with-middleware" }, { "type": "WEB", "url": "http://www.openwall.com/lists/oss-security/2025/03/23/3" }, { "type": "WEB", "url": "http://www.openwall.com/lists/oss-security/2025/03/23/4" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N", "type": "CVSS_V3" } ], "summary": "Authorization Bypass in Next.js Middleware" }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…