CVE-2026-42349

High

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.

SeverityHigh
CVSS8.1
Exploit probability—
Product@clerk/shared
PublishedMay 11, 2026
First seenMay 11, 2026

How to fix

Update
  • @clerk/shared3.47.5, 4.8.3 or later
  • clerk clerk\/astro2.17.11, 3.0.18 or later
  • clerk clerk\/backend2.33.3, 3.2.14 or later
  • clerk clerk\/chrome-extension2.9.15, 3.1.15 or later
  • clerk clerk\/clerk-expo2.19.36 or later
  • clerk clerk\/clerk-js5.125.10, 6.7.5 or later
  • clerk clerk\/clerk-react5.61.6 or later
  • clerk clerk\/expo3.2.2 or later
  • clerk clerk\/express1.7.79, 2.1.6 or later
  • clerk clerk\/fastify2.6.31, 3.1.16 or later
  • clerk clerk\/hono0.1.16 or later
  • clerk clerk\/nextjs7.2.4 or later

Affected products

ProductAffected versionsFixed in
@clerk/sharednpm3.0.0 ≤ v < 3.47.5, 4.0.0 ≤ v < 4.8.33.47.5, 4.8.3
clerk clerk\/astro2.0.0 ≤ v < 2.17.11, 3.0.0 ≤ v < 3.0.182.17.11, 3.0.18
clerk clerk\/backend2.0.0 ≤ v < 2.33.3, 3.0.0 ≤ v < 3.2.142.33.3, 3.2.14
clerk clerk\/chrome-extension1.3.5 ≤ v < 2.9.15, 3.0.0 ≤ v < 3.1.152.9.15, 3.1.15
clerk clerk\/clerk-expo2.2.11 ≤ v < 2.19.362.19.36
clerk clerk\/clerk-js5.22.0 ≤ v < 5.125.10, 6.0.0 ≤ v < 6.7.55.125.10, 6.7.5
clerk clerk\/clerk-react5.9.0 ≤ v < 5.61.65.61.6
clerk clerk\/expo3.0.0 ≤ v < 3.2.23.2.2
clerk clerk\/express0.1.0 ≤ v < 1.7.79, 2.0.0 ≤ v < 2.1.61.7.79, 2.1.6
clerk clerk\/fastify1.0.42 ≤ v < 2.6.31, 3.0.0 ≤ v < 3.1.162.6.31, 3.1.16
clerk clerk\/hono0.0.2 ≤ v < 0.1.160.1.16
clerk clerk\/nextjs6.0.0 ≤ v ≤ 6.39.3, 7.0.0 ≤ v < 7.2.47.2.4
clerk clerk\/nuxt1.0.0 ≤ v < 1.13.29, 2.0.0 ≤ v < 2.2.51.13.29, 2.2.5
clerk clerk\/react6.0.0 ≤ v < 6.4.36.4.3
clerk clerk\/react-router0.0.1 ≤ v < 2.4.13, 3.0.0 ≤ v < 3.1.42.4.13, 3.1.4
clerk clerk\/shared3.0.0 ≤ v < 3.47.5, 4.0.0 ≤ v < 4.8.33.47.5, 4.8.3
clerk clerk\/tanstack-react-start0.0.1 ≤ v < 0.29.11, 1.0.0 ≤ v < 1.1.40.29.11, 1.1.4
clerk clerk\/vue1.0.0 ≤ v < 1.17.21, 2.0.0 ≤ v < 2.0.161.17.21, 2.0.16
@clerk/backendnpm2.0.0 ≤ v < 2.33.3, 3.0.0 ≤ v < 3.2.142.33.3, 3.2.14
@clerk/nextjsnpm6.0.0 ≤ v < 6.39.3, 7.0.0 ≤ v < 7.2.46.39.3, 7.2.4
@clerk/clerk-jsnpm5.22.0 ≤ v < 5.125.10, 6.0.0 ≤ v < 6.7.55.125.10, 6.7.5
@clerk/clerk-reactnpm5.9.0 ≤ v < 5.61.65.61.6
@clerk/reactnpm6.0.0 ≤ v < 6.4.36.4.3
@clerk/vuenpm1.0.0 ≤ v < 1.17.21, 2.0.0 ≤ v < 2.0.161.17.21, 2.0.16
@clerk/astronpm2.0.0 ≤ v < 2.17.11, 3.0.0 ≤ v < 3.0.182.17.11, 3.0.18
@clerk/nuxtnpm1.0.0 ≤ v < 1.13.29, 2.0.0 ≤ v < 2.2.51.13.29, 2.2.5
@clerk/clerk-exponpm2.2.11 ≤ v < 2.19.362.19.36
@clerk/exponpm3.0.0 ≤ v < 3.2.23.2.2
@clerk/react-routernpm0.0.1 ≤ v < 2.4.13, 3.0.0 ≤ v < 3.1.42.4.13, 3.1.4
@clerk/tanstack-react-startnpm0.0.1 ≤ v < 0.29.11, 1.0.0 ≤ v < 1.1.40.29.11, 1.1.4
@clerk/chrome-extensionnpm1.3.5 ≤ v < 2.9.15, 3.0.0 ≤ v < 3.1.152.9.15, 3.1.15
@clerk/fastifynpm1.0.42 ≤ v < 2.6.31, 3.0.0 ≤ v < 3.1.162.6.31, 3.1.16
@clerk/expressnpm0.1.0 ≤ v < 1.7.79, 2.0.0 ≤ v < 2.1.61.7.79, 2.1.6
@clerk/hononpm0.0.2 ≤ v < 0.1.160.1.16

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.