Quick answers
- Is CVE-2026-41248 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-41248 being exploited in the wild.
- How severe is CVE-2026-41248?
- Critical severity, with a CVSS score of 9.1, published 24 April 2026.
- Which products and versions are affected?
- @clerk/astro (npm) SEMVER:introduced=0.0.1,fixed=1.5.7; @clerk/nextjs (npm) SEMVER:introduced=5.0.0,fixed=5.7.6; @clerk/nuxt (npm) SEMVER:introduced=1.1.0,fixed=1.13.28; @clerk/shared (npm) SEMVER:introduced=2.20.17,fixed=2.22.1.
- Is there a fix for CVE-2026-41248?
- Yes. @clerk/astro (npm): upgrade to 1.5.7 or later; @clerk/nextjs (npm): upgrade to 5.7.6 or later; @clerk/nuxt (npm): upgrade to 1.13.28 or later; @clerk/shared (npm): upgrade to 2.22.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-41248 attacked?
- It is attacked over the network.
- Am I affected by CVE-2026-41248?
- Check whether you run @clerk/astro (npm), @clerk/nextjs (npm), @clerk/nuxt (npm) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @clerk/astro (npm): upgrade to 1.5.7 or later
npm install @clerk/astro@1.5.7 - @clerk/nextjs (npm): upgrade to 5.7.6 or later
npm install @clerk/nextjs@5.7.6 - @clerk/nuxt (npm): upgrade to 1.13.28 or later
npm install @clerk/nuxt@1.13.28 - @clerk/shared (npm): upgrade to 2.22.1 or later
npm install @clerk/shared@2.22.1
Technical details
The vulnerability exists in the createRouteMatcher function across @clerk/nextjs, @clerk/nuxt, and @clerk/astro SDKs, which can be bypassed via specially crafted HTTP requests that don't match expected patterns. The root cause lies in the route-matching logic used by clerkMiddleware to determine whether to enforce authentication. An unauthenticated attacker on the network can send malicious requests that circumvent the middleware's route-matching decision and reach downstream handlers (API routes, server components, server actions) without triggering the auth.protect() call. Critically, this bypass only affects the middleware-level gate decision; the underlying authentication state remains accurate, and auth() calls within route handlers continue to work correctly. The vulnerability can be exploited if an application relies exclusively on middleware-level route gating without additional server-side auth checks. Patches are available across all affected versions (e.g., @clerk/nextjs 5.7.6+, 6.39.2+, 7.2.1+) and are drop-in replacements with no API changes.
Affected products
- Clerk @clerk/nextjs 5.0.0 to 6.39.1, 7.0.0 to 7.2.0
- Clerk @clerk/nuxt 1.1.0 to 1.13.27, 2.0.0 to 2.2.1
- Clerk @clerk/astro 0.0.1 to 2.17.9, 3.0.0 to 3.0.14
- Clerk @clerk/shared 2.20.17 to 3.47.3, 4.0.0 to 4.8.0
Identifiers
- CVE-2026-41248
- GHSA-vqx2-fgx2-5wq9
Timeline
- 2026-04-15: disclosed: Publicly disclosed
- 2026-04-15: patched: Patches released for all affected versions