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.

Project Subscriptions

Vendors Products
Backend Subscribe
Chrome-extension Subscribe
Clerk-expo Subscribe
Clerk-react Subscribe
Clerk\/astro Subscribe
Clerk\/backend Subscribe
Clerk\/chrome-extension Subscribe
Clerk\/clerk-expo Subscribe
Clerk\/clerk-js Subscribe
Clerk\/clerk-react Subscribe
Clerk\/expo Subscribe
Clerk\/express Subscribe
Clerk\/fastify Subscribe
Clerk\/hono Subscribe
Clerk\/nextjs Subscribe
Clerk\/nuxt Subscribe
Clerk\/react Subscribe
Clerk\/react-router Subscribe
Clerk\/shared Subscribe
Clerk\/tanstack-react-start Subscribe
Clerk\/vue Subscribe
Express Subscribe
Fastify Subscribe
Javascript Subscribe
React-router Subscribe
Tanstack-react-start Subscribe
Advisories
Source ID Title
Github GHSA Github GHSA GHSA-w24r-5266-9c3c Clerk has an authorization bypass when combining organization, billing, or reverification checks
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Mon, 01 Jun 2026 16:45:00 +0000

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

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}


Thu, 14 May 2026 19:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 12 May 2026 10:45:00 +0000

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

Mon, 11 May 2026 16:30:00 +0000

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

{'score': 7.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-14T18:19:38.735Z

Reserved: 2026-04-26T13:26:14.515Z

Link: CVE-2026-42349

cve-icon Vulnrichment

Updated: 2026-05-14T18:19:17.030Z

cve-icon NVD

Status : Analyzed

Published: 2026-05-11T17:16:33.147

Modified: 2026-06-01T16:33:43.980

Link: CVE-2026-42349

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-12T09:22:55Z

Weaknesses