Official Clerk JavaScript SDKs: Middleware-based route protection bypass
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.
Summary
Clerk JavaScript is the official JavaScript repository for Clerk authentication. createRouteMatcher in @clerk/nextjs, @clerk/nuxt, and @clerk/astro can be bypassed by certain crafted requests, allowing them to skip middleware gating and reach downstream handlers. This vulnerability is fixed in @clerk/astro 1.5.7, 2.17.10, and 3.0.15; @clerk/nextjs 5.7.6, 6.39.2, and 7.2.1; @clerk/nuxt 1.13.28 and 2.2.2; and @clerk/shared 2.22.1, 3.47.4, anc 4.8.1
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| clerk | astro | 0.0.1 to before 1.5.7; 2.0.0-snapshot.v20241206174604 – 2.17.9; 3.0.0 to before 3.0.15 | 1.5.7, 3.0.15 | Patch available | CNA |
| clerk | nextjs | 5.0.0 to before 5.7.6; 6.0.0-snapshot.vb87a27f to before 6.39.2; 7.0.0 to before 7.2.1 | 5.7.6, 6.39.2, 7.2.1 | Patch available | CNA |
| clerk | nuxt | 1.1.0 to before 1.13.28; 2.0.0 to before 2.2.2 | 1.13.28, 2.2.2 | Patch available | CNA |
| clerk | shared | 2.20.17 to before 2.22.1; 3.0.0-canary.v20250225091530 to before 3.47.4; 4.0.0 to before 4.8.1 | 2.22.1, 3.47.4, 4.8.1 | Patch available | CNA |
| — | @clerk/nextjs (npm) | 5.0.0 to before 5.7.6 | 5.7.6 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/nuxt (npm) | 1.1.0 to before 1.13.28 | 1.13.28 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/astro (npm) | 0.0.1 to before 1.5.7 | 1.5.7 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/shared (npm) | 2.20.17 to before 2.22.1 | 2.22.1 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/nextjs (npm) | 6.0.0-snapshot.vb87a27f to before 6.39.2 | 6.39.2 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/nextjs (npm) | 7.0.0 to before 7.2.1 | 7.2.1 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/nuxt (npm) | 2.0.0 to before 2.2.2 | 2.2.2 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/astro (npm) | 2.0.0-snapshot.v20241206174604 to before 2.17.10 | 2.17.10 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/astro (npm) | 3.0.0 to before 3.0.15 | 3.0.15 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/shared (npm) | 3.0.0-canary.v20250225091530 to before 3.47.4 | 3.47.4 | Patch available | GHSA-vqx2-fgx2-5wq9 |
| — | @clerk/shared (npm) | 4.0.0 to before 4.8.1 | 4.8.1 | Patch available | GHSA-vqx2-fgx2-5wq9 |
- astro Vendorclerk Affected 0.0.1 to before 1.5.7; 2.0.0-snapshot.v20241206174604 – 2.17.9; 3.0.0 to before 3.0.15 Fixed in 1.5.7, 3.0.15 Patch available CNA
- nextjs Vendorclerk Affected 5.0.0 to before 5.7.6; 6.0.0-snapshot.vb87a27f to before 6.39.2; 7.0.0 to before 7.2.1 Fixed in 5.7.6, 6.39.2, 7.2.1 Patch available CNA
- nuxt Vendorclerk Affected 1.1.0 to before 1.13.28; 2.0.0 to before 2.2.2 Fixed in 1.13.28, 2.2.2 Patch available CNA
- shared Vendorclerk Affected 2.20.17 to before 2.22.1; 3.0.0-canary.v20250225091530 to before 3.47.4; 4.0.0 to before 4.8.1 Fixed in 2.22.1, 3.47.4, 4.8.1 Patch available CNA
- @clerk/nextjs (npm) Vendor— Affected 5.0.0 to before 5.7.6 Fixed in 5.7.6 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/nuxt (npm) Vendor— Affected 1.1.0 to before 1.13.28 Fixed in 1.13.28 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/astro (npm) Vendor— Affected 0.0.1 to before 1.5.7 Fixed in 1.5.7 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/shared (npm) Vendor— Affected 2.20.17 to before 2.22.1 Fixed in 2.22.1 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/nextjs (npm) Vendor— Affected 6.0.0-snapshot.vb87a27f to before 6.39.2 Fixed in 6.39.2 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/nextjs (npm) Vendor— Affected 7.0.0 to before 7.2.1 Fixed in 7.2.1 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/nuxt (npm) Vendor— Affected 2.0.0 to before 2.2.2 Fixed in 2.2.2 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/astro (npm) Vendor— Affected 2.0.0-snapshot.v20241206174604 to before 2.17.10 Fixed in 2.17.10 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/astro (npm) Vendor— Affected 3.0.0 to before 3.0.15 Fixed in 3.0.15 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/shared (npm) Vendor— Affected 3.0.0-canary.v20250225091530 to before 3.47.4 Fixed in 3.47.4 Patch available GHSA-vqx2-fgx2-5wq9
- @clerk/shared (npm) Vendor— Affected 4.0.0 to before 4.8.1 Fixed in 4.8.1 Patch available GHSA-vqx2-fgx2-5wq9
Remediation
- Fix · CNA astro (clerk) Fixed in 1.5.7, 3.0.15
- Fix · CNA nextjs (clerk) Fixed in 5.7.6, 6.39.2, 7.2.1
- Fix · CNA nuxt (clerk) Fixed in 1.13.28, 2.2.2
- Fix · CNA shared (clerk) Fixed in 2.22.1, 3.47.4, 4.8.1
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/nextjs (npm) Fixed in 5.7.6 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/nuxt (npm) Fixed in 1.13.28 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/astro (npm) Fixed in 1.5.7 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/shared (npm) Fixed in 2.22.1 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/nextjs (npm) Fixed in 6.39.2 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/nextjs (npm) Fixed in 7.2.1 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/nuxt (npm) Fixed in 2.2.2 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/astro (npm) Fixed in 2.17.10 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/astro (npm) Fixed in 3.0.15 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/shared (npm) Fixed in 3.47.4 Advisory →
- Fix · GHSA-vqx2-fgx2-5wq9 @clerk/shared (npm) Fixed in 4.8.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41248
- 2026-10-03 Alias added: GHSA-vqx2-fgx2-5wq9
References
More clerk vulnerabilities
- TI-2026-30651 Clerk: Authorization bypass when combining organization, billing, or reverification checks CVSS 4.0HIGH 7.6
- TI-2024-14799 @clerk/nextjs auth() and getAuth() methods vulnerable to insecure direct object reference (IDOR) CVSS 3.1CRITICAL 9.8
- TI-2025-33492 @clerk/backend Performs Insufficient Verification of Data Authenticity CVSS 3.1HIGH 7.5
- TI-2026-26399 Clerk JavaScript: SSRF in the opt-in clerkFrontendApiProxy feature may leak secret keys to unintended host CVSS 3.1HIGH 7.4
Sources
- CVE-2026-41248 · CVE Program
- CVE-2026-41248 · NVD
- FIRST EPSS
- GHSA-vqx2-fgx2-5wq9 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences