FKIE_CVE-2026-42349

Vulnerability from fkie_nvd - Published: 2026-05-11 17:16 - Updated: 2026-06-01 16:33
Summary
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.

{
  "configurations": [
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/astro:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "30F84DDC-8228-4D7A-BEAC-FDE0487D41DB",
              "versionEndExcluding": "2.17.11",
              "versionStartIncluding": "2.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/astro:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "92B175FF-5976-481F-9FC3-52C00392997C",
              "versionEndExcluding": "3.0.18",
              "versionStartIncluding": "3.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/backend:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "42CE4C47-A64E-47F5-8FF2-2855F623CB3E",
              "versionEndExcluding": "2.33.3",
              "versionStartIncluding": "2.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/backend:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "92B0F10A-B9D0-4AE7-ACE0-DF80D552BB9C",
              "versionEndExcluding": "3.2.14",
              "versionStartIncluding": "3.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/chrome-extension:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "AD1020C4-8984-48C5-B0BA-3402BC536594",
              "versionEndExcluding": "2.9.15",
              "versionStartIncluding": "1.3.5",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/chrome-extension:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "93FD23D3-85FC-4D5A-A3EA-8B7407CC61CA",
              "versionEndExcluding": "3.1.15",
              "versionStartIncluding": "3.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/clerk-expo:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "24002AC3-72F0-47F4-A707-175A69CD5ECB",
              "versionEndExcluding": "2.19.36",
              "versionStartIncluding": "2.2.11",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/clerk-js:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "38BB715E-E178-45DE-B9C2-8EF360B1A9BF",
              "versionEndExcluding": "5.125.10",
              "versionStartIncluding": "5.22.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/clerk-js:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "D69C1684-8259-418D-8030-9BA5ED83DC69",
              "versionEndExcluding": "6.7.5",
              "versionStartIncluding": "6.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/clerk-react:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "9F3D0D75-CD5E-4F80-ADD5-36BEA19187EB",
              "versionEndExcluding": "5.61.6",
              "versionStartIncluding": "5.9.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/expo:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "114A7068-CDA7-4294-8EC1-A4A38E06179D",
              "versionEndExcluding": "3.2.2",
              "versionStartIncluding": "3.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/express:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "1D670F00-A86F-4157-AACE-2FB37F1D2E74",
              "versionEndExcluding": "1.7.79",
              "versionStartIncluding": "0.1.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/express:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "5EB164E5-717B-4611-8DFF-517137745E1A",
              "versionEndExcluding": "2.1.6",
              "versionStartIncluding": "2.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/fastify:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "194D3D4A-19B4-42C2-B119-35F67CEC0AFD",
              "versionEndExcluding": "2.6.31",
              "versionStartIncluding": "1.0.42",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/fastify:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "636525D8-19DC-47DA-AFE3-58CA0CC5E4E4",
              "versionEndExcluding": "3.1.16",
              "versionStartIncluding": "3.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/hono:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "9C6F5918-2B3F-4544-9C3E-2D02D147D803",
              "versionEndExcluding": "0.1.16",
              "versionStartIncluding": "0.0.2",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/nextjs:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "209A417F-36BB-48E0-A594-17A3D8E452E1",
              "versionEndIncluding": "6.39.3",
              "versionStartIncluding": "6.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/nextjs:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "6348D1BD-DD97-42E0-A121-4F58DC2BE4DC",
              "versionEndExcluding": "7.2.4",
              "versionStartIncluding": "7.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/nuxt:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "8D6A7B72-1686-4B16-ABB3-6594D926611C",
              "versionEndExcluding": "1.13.29",
              "versionStartIncluding": "1.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/nuxt:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "F5706271-25D7-4F57-A620-FD2310DB8CB2",
              "versionEndExcluding": "2.2.5",
              "versionStartIncluding": "2.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/react:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "3ADF13F3-1C39-4766-A0DD-BC40381D306B",
              "versionEndExcluding": "6.4.3",
              "versionStartIncluding": "6.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/react-router:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "6FD1A00D-D69F-43C8-8055-60C8DA68C97A",
              "versionEndExcluding": "2.4.13",
              "versionStartIncluding": "0.0.1",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/react-router:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "4657521F-E4B7-4F7F-83AB-02B1E4F865D6",
              "versionEndExcluding": "3.1.4",
              "versionStartIncluding": "3.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/shared:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "4A4C4196-ACCC-4115-800F-D4CC704B2DBE",
              "versionEndExcluding": "3.47.5",
              "versionStartIncluding": "3.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/shared:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "3F3189BA-BCCB-453A-BB4E-72B14E9CB6CA",
              "versionEndExcluding": "4.8.3",
              "versionStartIncluding": "4.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/tanstack-react-start:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "091BA1A0-5062-4B26-A829-FC9A6D38929D",
              "versionEndExcluding": "0.29.11",
              "versionStartIncluding": "0.0.1",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/tanstack-react-start:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "D7971F38-FE69-4A83-9DB8-803FCF3CBAE5",
              "versionEndExcluding": "1.1.4",
              "versionStartIncluding": "1.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/vue:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "6AC18FE5-605B-4753-8F15-BD67BF67E8C2",
              "versionEndExcluding": "1.17.21",
              "versionStartIncluding": "1.0.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:clerk:clerk\\/vue:*:*:*:*:*:node.js:*:*",
              "matchCriteriaId": "CA0368CF-A074-45E5-889E-A346F96D7A26",
              "versionEndExcluding": "2.0.16",
              "versionStartIncluding": "2.0.0",
              "vulnerable": true
            }
          ],
          "negate": false,
          "operator": "OR"
        }
      ]
    }
  ],
  "cveTags": [],
  "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."
    }
  ],
  "id": "CVE-2026-42349",
  "lastModified": "2026-06-01T16:33:43.980",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "NETWORK",
          "availabilityImpact": "NONE",
          "baseScore": 8.1,
          "baseSeverity": "HIGH",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N",
          "version": "3.1"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 5.2,
        "source": "nvd@nist.gov",
        "type": "Primary"
      }
    ],
    "cvssMetricV40": [
      {
        "cvssData": {
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "attackComplexity": "LOW",
          "attackRequirements": "PRESENT",
          "attackVector": "NETWORK",
          "availabilityRequirement": "NOT_DEFINED",
          "baseScore": 7.6,
          "baseSeverity": "HIGH",
          "confidentialityRequirement": "NOT_DEFINED",
          "exploitMaturity": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "privilegesRequired": "LOW",
          "providerUrgency": "NOT_DEFINED",
          "subAvailabilityImpact": "NONE",
          "subConfidentialityImpact": "NONE",
          "subIntegrityImpact": "NONE",
          "userInteraction": "NONE",
          "valueDensity": "NOT_DEFINED",
          "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",
          "version": "4.0",
          "vulnAvailabilityImpact": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "vulnerabilityResponseEffort": "NOT_DEFINED"
        },
        "source": "security-advisories@github.com",
        "type": "Secondary"
      }
    ]
  },
  "published": "2026-05-11T17:16:33.147",
  "references": [
    {
      "source": "security-advisories@github.com",
      "tags": [
        "Mitigation",
        "Vendor Advisory"
      ],
      "url": "https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3c"
    },
    {
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Mitigation",
        "Vendor Advisory"
      ],
      "url": "https://github.com/clerk/javascript/security/advisories/GHSA-w24r-5266-9c3c"
    }
  ],
  "sourceIdentifier": "security-advisories@github.com",
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-754"
        },
        {
          "lang": "en",
          "value": "CWE-863"
        }
      ],
      "source": "security-advisories@github.com",
      "type": "Secondary"
    }
  ]
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…