Vulnerability 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.
CVSS Score
HIGH
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Clerk | Clerk\/Astro | >= 2.0.0, < 2.17.11 |
| Clerk | Clerk\/Backend | >= 2.0.0, < 2.33.3 |
| Clerk | Clerk\/Chrome-Extension | >= 1.3.5, < 2.9.15 |
| Clerk | Clerk\/Clerk-Expo | >= 2.2.11, < 2.19.36 |
| Clerk | Clerk\/Clerk-Js | >= 5.22.0, < 5.125.10 |
| Clerk | Clerk\/Clerk-React | >= 5.9.0, < 5.61.6 |
| Clerk | Clerk\/Expo | >= 3.0.0, < 3.2.2 |
| Clerk | Clerk\/Express | >= 0.1.0, < 1.7.79 |
| Clerk | Clerk\/Fastify | >= 1.0.42, < 2.6.31 |
| Clerk | Clerk\/Hono | >= 0.0.2, < 0.1.16 |
| Clerk | Clerk\/Nextjs | >= 6.0.0, <= 6.39.3 |
| Clerk | Clerk\/Nuxt | >= 1.0.0, < 1.13.29 |
| Clerk | Clerk\/React | >= 6.0.0, < 6.4.3 |
| Clerk | Clerk\/React-Router | >= 0.0.1, < 2.4.13 |
| Clerk | Clerk\/Shared | >= 3.0.0, < 3.47.5 |
| Clerk | Clerk\/Tanstack-React-Start | >= 0.0.1, < 0.29.11 |
| Clerk | Clerk\/Vue | >= 1.0.0, < 1.17.21 |
Related Weaknesses (CWE)
References
- https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3cMitigationVendor Advisory
- https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3cMitigationVendor Advisory
FAQ
What is CVE-2026-42349?
CVE-2026-42349 is a vulnerability with a CVSS score of 8.1 (HIGH). 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 ...
How severe is CVE-2026-42349?
CVE-2026-42349 has been rated HIGH with a CVSS base score of 8.1/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-42349?
Check the references section above for vendor advisories and patch information. Affected products include: Clerk Clerk\/Astro, Clerk Clerk\/Backend, Clerk Clerk\/Chrome-Extension, Clerk Clerk\/Clerk-Expo, Clerk Clerk\/Clerk-Js.