Clerk: Authorization bypass when combining organization, billing, or reverification checks
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| clerk | javascript | affected |
|
|||||||||
| @clerk | shared | affected |
|
|||||||||
| @clerk | backend | affected |
|
|||||||||
| @clerk | nextjs | affected |
|
|||||||||
| @clerk | clerk-react | affected |
|
|||||||||
| @clerk | react | affected |
|
|||||||||
| @clerk | vue | affected |
|
|||||||||
| @clerk | astro | affected |
|
|||||||||
| @clerk | nuxt | affected |
|
|||||||||
| @clerk | clerk-expo | affected |
|
|||||||||
| @clerk | expo | affected |
|
|||||||||
| @clerk | react-router | affected |
|
|||||||||
| @clerk | tanstack-react-start | affected |
|
|||||||||
| @clerk | chrome-extension | affected |
|
|||||||||
| @clerk | fastify | affected |
|
|||||||||
| @clerk | express | affected |
|
|||||||||
| @clerk | hono | affected |
|
Configuration 1 [-]
|
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Clerk | Astro |
|
||||||||||||
| Clerk | Backend |
|
||||||||||||
| Clerk | Chrome-extension |
|
||||||||||||
| Clerk | Clerk-expo |
|
||||||||||||
| Clerk | Clerk-react |
|
||||||||||||
| Clerk | Expo |
|
||||||||||||
| Clerk | Express |
|
||||||||||||
| Clerk | Fastify |
|
||||||||||||
| Clerk | Hono |
|
||||||||||||
| Clerk | Javascript |
|
||||||||||||
| Clerk | Nextjs |
|
||||||||||||
| Clerk | Nuxt |
|
||||||||||||
| Clerk | React |
|
||||||||||||
| Clerk | React-router |
|
||||||||||||
| Clerk | Shared |
|
||||||||||||
| Clerk | Tanstack-react-start |
|
||||||||||||
| Clerk | Vue |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-w24r-5266-9c3c | Clerk has an authorization bypass when combining organization, billing, or reverification checks |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.246% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Clerk clerk\/astro
Clerk clerk\/backend Clerk clerk\/chrome-extension Clerk clerk\/clerk-expo Clerk clerk\/clerk-js Clerk clerk\/clerk-react Clerk clerk\/expo Clerk clerk\/express Clerk clerk\/fastify Clerk clerk\/hono Clerk clerk\/nextjs Clerk clerk\/nuxt Clerk clerk\/react Clerk clerk\/react-router Clerk clerk\/shared Clerk clerk\/tanstack-react-start Clerk clerk\/vue |
|
| CPEs | cpe:2.3:a:clerk:clerk\/astro:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/backend:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/chrome-extension:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/clerk-expo:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/clerk-js:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/clerk-react:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/expo:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/express:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/fastify:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/hono:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/nextjs:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/nuxt:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/react-router:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/react:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/shared:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/tanstack-react-start:*:*:*:*:*:node.js:*:* cpe:2.3:a:clerk:clerk\/vue:*:*:*:*:*:node.js:*:* |
|
| Vendors & Products |
Clerk clerk\/astro
Clerk clerk\/backend Clerk clerk\/chrome-extension Clerk clerk\/clerk-expo Clerk clerk\/clerk-js Clerk clerk\/clerk-react Clerk clerk\/expo Clerk clerk\/express Clerk clerk\/fastify Clerk clerk\/hono Clerk clerk\/nextjs Clerk clerk\/nuxt Clerk clerk\/react Clerk clerk\/react-router Clerk clerk\/shared Clerk clerk\/tanstack-react-start Clerk clerk\/vue |
|
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Clerk
Clerk astro Clerk backend Clerk chrome-extension Clerk clerk-expo Clerk clerk-react Clerk expo Clerk express Clerk fastify Clerk hono Clerk javascript Clerk nextjs Clerk nuxt Clerk react Clerk react-router Clerk shared Clerk tanstack-react-start Clerk vue |
|
| Vendors & Products |
Clerk
Clerk astro Clerk backend Clerk chrome-extension Clerk clerk-expo Clerk clerk-react Clerk expo Clerk express Clerk fastify Clerk hono Clerk javascript Clerk nextjs Clerk nuxt Clerk react Clerk react-router Clerk shared Clerk tanstack-react-start Clerk vue |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | Clerk: Authorization bypass when combining organization, billing, or reverification checks | |
| Weaknesses | CWE-754 CWE-863 |
|
| References |
| |
| Metrics |
cvssV4_0
|