GHSA-w24r-5266-9c3c · Severity: high · Ecosystem: npm — Clerk has an authorization bypass when combining organization, billing, or reverification checks
Clerk JavaScript is the official JavaScript repository for Clerk authentication. has(), auth.protect(), and related authorization predicates in @clerk/shared, @clerk/nextjs, @clerk/backend, and other framework SDKs can return true for certain combined authorization checks when the result should be false, allowing a gated action to proceed for a user who does not satisfy the full set of requested conditions. This call shape can be bypassed if certain conditions are met: a has() or auth.protect() call that combines a reverification check with any of role, permission, feature, or plan, or that combines a billing check (feature or plan) with a role or permission check. This vulnerability is fixed in @clerk/clerk-js 5.125.10 and 6.7.5.
Conclusion & alert: CVE-2026-42349 is rated Low Risk (35.5/100): CVSS High severity, with low exploitation likelihood (EPSS 0.05%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-02 | 0.05% | 0.05% | -0.01% |
| 2 | 2026-05-12 | — | 0.05% | — |
Full EPSS history (2 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 7.6 | 4.0 | HIGH |
|
— | — | [email protected] |
| 8.1 | 3.1 | HIGH |
|
2.8 | 5.2 | [email protected] |
GHSA-w24r-5266-9c3c · Severity: high · Ecosystem: npm — Clerk has an authorization bypass when combining organization, billing, or reverification checks
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| clerk | clerk\/astro | >= 2.0.0, < 2.17.11 | cpe:2.3:a:clerk:clerk\/astro:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/astro | >= 3.0.0, < 3.0.18 | cpe:2.3:a:clerk:clerk\/astro:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/backend | >= 2.0.0, < 2.33.3 | cpe:2.3:a:clerk:clerk\/backend:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/backend | >= 3.0.0, < 3.2.14 | cpe:2.3:a:clerk:clerk\/backend:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/chrome-extension | >= 1.3.5, < 2.9.15 | cpe:2.3:a:clerk:clerk\/chrome-extension:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/chrome-extension | >= 3.0.0, < 3.1.15 | cpe:2.3:a:clerk:clerk\/chrome-extension:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/clerk-expo | >= 2.2.11, < 2.19.36 | cpe:2.3:a:clerk:clerk\/clerk-expo:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/clerk-js | >= 5.22.0, < 5.125.10 | cpe:2.3:a:clerk:clerk\/clerk-js:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/clerk-js | >= 6.0.0, < 6.7.5 | cpe:2.3:a:clerk:clerk\/clerk-js:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/clerk-react | >= 5.9.0, < 5.61.6 | cpe:2.3:a:clerk:clerk\/clerk-react:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/expo | >= 3.0.0, < 3.2.2 | cpe:2.3:a:clerk:clerk\/expo:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/express | >= 0.1.0, < 1.7.79 | cpe:2.3:a:clerk:clerk\/express:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/express | >= 2.0.0, < 2.1.6 | cpe:2.3:a:clerk:clerk\/express:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/fastify | >= 1.0.42, < 2.6.31 | cpe:2.3:a:clerk:clerk\/fastify:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/fastify | >= 3.0.0, < 3.1.16 | cpe:2.3:a:clerk:clerk\/fastify:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/hono | >= 0.0.2, < 0.1.16 | cpe:2.3:a:clerk:clerk\/hono:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/nextjs | >= 6.0.0, <= 6.39.3 | cpe:2.3:a:clerk:clerk\/nextjs:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/nextjs | >= 7.0.0, < 7.2.4 | cpe:2.3:a:clerk:clerk\/nextjs:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/nuxt | >= 1.0.0, < 1.13.29 | cpe:2.3:a:clerk:clerk\/nuxt:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/nuxt | >= 2.0.0, < 2.2.5 | cpe:2.3:a:clerk:clerk\/nuxt:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/react | >= 6.0.0, < 6.4.3 | cpe:2.3:a:clerk:clerk\/react:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/react-router | >= 0.0.1, < 2.4.13 | cpe:2.3:a:clerk:clerk\/react-router:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/react-router | >= 3.0.0, < 3.1.4 | cpe:2.3:a:clerk:clerk\/react-router:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/shared | >= 3.0.0, < 3.47.5 | cpe:2.3:a:clerk:clerk\/shared:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/shared | >= 4.0.0, < 4.8.3 | cpe:2.3:a:clerk:clerk\/shared:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/tanstack-react-start | >= 0.0.1, < 0.29.11 | cpe:2.3:a:clerk:clerk\/tanstack-react-start:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/tanstack-react-start | >= 1.0.0, < 1.1.4 | cpe:2.3:a:clerk:clerk\/tanstack-react-start:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/vue | >= 1.0.0, < 1.17.21 | cpe:2.3:a:clerk:clerk\/vue:*:*:*:*:*:node.js:*:* |
| clerk | clerk\/vue | >= 2.0.0, < 2.0.16 | cpe:2.3:a:clerk:clerk\/vue:*:*:*:*:*:node.js:*:* |
| URL | Tags |
|---|---|
| https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3c | Mitigation Vendor Advisory |