CVE-2026-42349
Clerk: Authorization bypass when combining organization, billing, or reverification checks
- State
- Published
- Severity
- 7.6 High
- Published
- May 11, 2026
- Updated
- May 14, 2026
- Reserved
- Apr 26, 2026
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 4.0 | 7.6 High | 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 | GitHub_M |
Weaknesses
Affected Products
| Product | Versions |
|---|---|
javascriptclerk |
|
shared@clerk |
|
backend@clerk |
|
nextjs@clerk |
|
clerk-react@clerk |
|
react@clerk |
|
vue@clerk |
|
astro@clerk |
|
nuxt@clerk |
|
clerk-expo@clerk |
|
expo@clerk |
|
react-router@clerk |
|
tanstack-react-start@clerk |
|
chrome-extension@clerk |
|
fastify@clerk |
|
express@clerk |
|
hono@clerk |
|
References
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.