{"api_version":"1","generated_at":"2026-05-13T11:05:21+00:00","cve":"CVE-2026-42349","urls":{"html":"https://cve.report/CVE-2026-42349","api":"https://cve.report/api/cve/CVE-2026-42349.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-42349","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-42349"},"summary":{"title":"Clerk: Authorization bypass when combining organization, billing, or reverification checks","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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-05-11 17:16:33","updated_at":"2026-05-11 17:16:33"},"problem_types":["CWE-754","CWE-863","CWE-754 CWE-754: Improper Check for Unusual or Exceptional Conditions","CWE-863 CWE-863: Incorrect Authorization"],"metrics":[{"version":"4.0","source":"security-advisories@github.com","type":"Secondary","score":"7.6","severity":"HIGH","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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","data":{"version":"4.0","vectorString":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":7.6,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}},{"version":"4.0","source":"CNA","type":"DECLARED","score":"7.6","severity":"HIGH","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","data":{"attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":7.6,"baseSeverity":"HIGH","privilegesRequired":"LOW","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH"}}],"references":[{"url":"https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3c","name":"https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3c","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-42349","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42349","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"clerk","product":"javascript","version":"affected >= 5.22.0, < 5.125.10","platforms":[]},{"source":"CNA","vendor":"clerk","product":"javascript","version":"affected >= 6.0.0, < 6.7.5","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"shared","version":"affected >= 3.0.0, <= 3.47.4","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"shared","version":"affected >= 4.0.0, <= 4.8.2","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"backend","version":"affected >= 2.0.0, <= 2.33.2","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"backend","version":"affected >= 3.0.0, <= 3.2.13","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"nextjs","version":"affected >= 6.0.0, <= 6.39.2","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"nextjs","version":"affected >= 7.0.0, <= 7.2.3","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"clerk-react","version":"affected >= 5.9.0, <= 5.61.5","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"react","version":"affected >= 6.0.0, <= 6.4.2","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"vue","version":"affected >= 1.0.0, <= 1.17.20","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"vue","version":"affected >= 2.0.0, <= 2.0.15","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"astro","version":"affected >= 2.0.0, <= 2.17.10","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"astro","version":"affected >= 3.0.0, <= 3.0.17","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"nuxt","version":"affected >= 1.0.0, <= 1.13.28","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"nuxt","version":"affected >= 2.0.0, <= 2.2.4","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"clerk-expo","version":"affected >= 2.2.11, <= 2.19.35","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"expo","version":"affected >= 3.0.0, <= 3.2.1","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"react-router","version":"affected >= 0.0.1, <= 2.4.12","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"react-router","version":"affected >= 3.0.0, <= 3.1.3","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"tanstack-react-start","version":"affected >= 0.0.1, <= 0.29.10","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"tanstack-react-start","version":"affected >= 1.0.0, <= 1.1.3","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"chrome-extension","version":"affected >= 1.3.5, <= 2.9.14","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"chrome-extension","version":"affected >= 3.0.0, <= 3.1.14","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"fastify","version":"affected >= 1.0.42, <= 2.6.30","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"fastify","version":"affected >= 3.0.0, <= 3.1.15","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"express","version":"affected >= 0.1.0, <= 1.7.78","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"express","version":"affected >= 2.0.0, <= 2.1.5","platforms":[]},{"source":"CNA","vendor":"@clerk","product":"hono","version":"affected >= 0.0.2, <= 0.1.15","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"42349","cve":"CVE-2026-42349","epss":"0.000540000","percentile":"0.168460000","score_date":"2026-05-12","updated_at":"2026-05-13 00:11:53"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"javascript","vendor":"clerk","versions":[{"status":"affected","version":">= 5.22.0, < 5.125.10"},{"status":"affected","version":">= 6.0.0, < 6.7.5"}]},{"product":"shared","vendor":"@clerk","versions":[{"status":"affected","version":">= 3.0.0, <= 3.47.4"},{"status":"affected","version":">= 4.0.0, <= 4.8.2"}]},{"product":"backend","vendor":"@clerk","versions":[{"status":"affected","version":">= 2.0.0, <= 2.33.2"},{"status":"affected","version":">= 3.0.0, <= 3.2.13"}]},{"product":"nextjs","vendor":"@clerk","versions":[{"status":"affected","version":">= 6.0.0, <= 6.39.2"},{"status":"affected","version":">= 7.0.0, <= 7.2.3"}]},{"product":"clerk-react","vendor":"@clerk","versions":[{"status":"affected","version":">= 5.9.0, <= 5.61.5"}]},{"product":"react","vendor":"@clerk","versions":[{"status":"affected","version":">= 6.0.0, <= 6.4.2"}]},{"product":"vue","vendor":"@clerk","versions":[{"status":"affected","version":">= 1.0.0, <= 1.17.20"},{"status":"affected","version":">= 2.0.0, <= 2.0.15"}]},{"product":"astro","vendor":"@clerk","versions":[{"status":"affected","version":">= 2.0.0, <= 2.17.10"},{"status":"affected","version":">= 3.0.0, <= 3.0.17"}]},{"product":"nuxt","vendor":"@clerk","versions":[{"status":"affected","version":">= 1.0.0, <= 1.13.28"},{"status":"affected","version":">= 2.0.0, <= 2.2.4"}]},{"product":"clerk-expo","vendor":"@clerk","versions":[{"status":"affected","version":">= 2.2.11, <= 2.19.35"}]},{"product":"expo","vendor":"@clerk","versions":[{"status":"affected","version":">= 3.0.0, <= 3.2.1"}]},{"product":"react-router","vendor":"@clerk","versions":[{"status":"affected","version":">= 0.0.1, <= 2.4.12"},{"status":"affected","version":">= 3.0.0, <= 3.1.3"}]},{"product":"tanstack-react-start","vendor":"@clerk","versions":[{"status":"affected","version":">= 0.0.1, <= 0.29.10"},{"status":"affected","version":">= 1.0.0, <= 1.1.3"}]},{"product":"chrome-extension","vendor":"@clerk","versions":[{"status":"affected","version":">= 1.3.5, <= 2.9.14"},{"status":"affected","version":">= 3.0.0, <= 3.1.14"}]},{"product":"fastify","vendor":"@clerk","versions":[{"status":"affected","version":">= 1.0.42, <= 2.6.30"},{"status":"affected","version":">= 3.0.0, <= 3.1.15"}]},{"product":"express","vendor":"@clerk","versions":[{"status":"affected","version":">= 0.1.0, <= 1.7.78"},{"status":"affected","version":">= 2.0.0, <= 2.1.5"}]},{"product":"hono","vendor":"@clerk","versions":[{"status":"affected","version":">= 0.0.2, <= 0.1.15"}]}],"descriptions":[{"lang":"en","value":"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."}],"metrics":[{"cvssV4_0":{"attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":7.6,"baseSeverity":"HIGH","privilegesRequired":"LOW","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-754","description":"CWE-754: Improper Check for Unusual or Exceptional Conditions","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-863","description":"CWE-863: Incorrect Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-05-11T16:08:27.869Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3c","tags":["x_refsource_CONFIRM"],"url":"https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3c"}],"source":{"advisory":"GHSA-w24r-5266-9c3c","discovery":"UNKNOWN"},"title":"Clerk: Authorization bypass when combining organization, billing, or reverification checks"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-42349","datePublished":"2026-05-11T16:08:27.869Z","dateReserved":"2026-04-26T13:26:14.515Z","dateUpdated":"2026-05-11T16:08:27.869Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-11 17:16:33","lastModifiedDate":"2026-05-11 17:16:33","problem_types":["CWE-754","CWE-863","CWE-754 CWE-754: Improper Check for Unusual or Exceptional Conditions","CWE-863 CWE-863: Incorrect Authorization"],"metrics":{"cvssMetricV40":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"4.0","vectorString":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":7.6,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"42349","Ordinal":"1","Title":"Clerk: Authorization bypass when combining organization, billing","CVE":"CVE-2026-42349","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"42349","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Clerk: Authorization bypass when combining organization, billing"}]}}}