{"id":"GHSA-f82v-jwr5-mffw","summary":"Authorization Bypass in Next.js Middleware","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, we 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_)","aliases":["CVE-2025-29927"],"modified":"2026-09-10T03:50:23.209773204Z","published":"2025-03-21T15:20:12Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2025-03-21T15:20:12Z","nvd_published_at":"2025-03-21T15:15:42Z","cwe_ids":["CWE-285","CWE-863"],"severity":"CRITICAL"},"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"}],"affected":[{"package":{"name":"next","ecosystem":"npm","purl":"pkg:npm/next"},"ranges":[{"type":"SEMVER","events":[{"introduced":"13.0.0"},{"fixed":"13.5.9"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-f82v-jwr5-mffw/GHSA-f82v-jwr5-mffw.json"}},{"package":{"name":"next","ecosystem":"npm","purl":"pkg:npm/next"},"ranges":[{"type":"SEMVER","events":[{"introduced":"14.0.0"},{"fixed":"14.2.25"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-f82v-jwr5-mffw/GHSA-f82v-jwr5-mffw.json"}},{"package":{"name":"next","ecosystem":"npm","purl":"pkg:npm/next"},"ranges":[{"type":"SEMVER","events":[{"introduced":"15.0.0"},{"fixed":"15.2.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-f82v-jwr5-mffw/GHSA-f82v-jwr5-mffw.json"}},{"package":{"name":"next","ecosystem":"npm","purl":"pkg:npm/next"},"ranges":[{"type":"SEMVER","events":[{"introduced":"12.0.0"},{"fixed":"12.3.5"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-f82v-jwr5-mffw/GHSA-f82v-jwr5-mffw.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}