{"id":"CVE-2024-22206","aliases":["EUVD-2024-0398","GHSA-q6w5-jg5q-47vg"],"status":"published","title":"@clerk/nextjs auth() and getAuth() methods vulnerable to insecure direct object reference (IDOR)","description":"Clerk helps developers build user management. Unauthorized access or privilege escalation due to a logic flaw in auth() in the App Router or getAuth() in the Pages Router. This vulnerability was patched in version 4.29.3.","severity":{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00682,"percentile":0.52982,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-284","CWE-287","CWE-639"],"published":"2024-01-12T20:07:40Z","modified":"2026-10-28T02:30:55Z","fixes":[{"ecosystem":"npm","package":"@clerk/nextjs","fixed_in":["4.29.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@clerk/nextjs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.7.0"},{"fixed":"4.29.3"}]}]},{"source":"osv","ecosystem":"npm","package":"@clerk/nextjs","ranges":[{"type":"SEMVER","events":[{"introduced":"4.7.0"},{"fixed":"4.29.3"}]}]}],"products":[{"vendor":"clerk","product":"javascript"}],"references":[{"url":"https://github.com/clerk/javascript/security/advisories/GHSA-q6w5-jg5q-47vg","tags":["x_refsource_CONFIRM","x_transferred","Patch","Vendor Advisory","advisory","web"]},{"url":"https://clerk.com/changelog/2024-01-12","tags":["x_refsource_MISC","x_transferred","Release Notes","Vendor Advisory","web"]},{"url":"https://github.com/clerk/javascript/releases/tag/%40clerk%2Fnextjs%404.29.3","tags":["x_refsource_MISC","x_transferred","Patch","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-22206","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-q6w5-jg5q-47vg"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/22xxx/CVE-2024-22206.json","tags":["advisory"]},{"url":"https://github.com/clerk/javascript","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-22206","title":"@clerk/nextjs auth() and getAuth() methods vulnerable to insecure direct object reference (IDOR)","description":"Clerk helps developers build user management. Unauthorized access or privilege escalation due to a logic flaw in auth() in the App Router or getAuth() in the Pages Router. This vulnerability was patched in version 4.29.3.\n","status":"published","published":"2024-01-12T20:07:40.402Z","modified":"2024-11-14T15:42:39.402Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-284","CWE-287","CWE-639"],"updated_at":"2026-11-02T14:34:00.254134Z"}],"euvd":[{"id":"EUVD-2024-0398","description":"Clerk helps developers build user management. Unauthorized access or privilege escalation due to a logic flaw in auth() in the App Router or getAuth() in the Pages Router. This vulnerability was patched in version 4.29.3.\n","status":"published","published":"2024-01-12T20:07:40Z","modified":"2024-11-14T15:42:39Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-03T00:05:00.76838Z"}],"ghsa":[{"id":"GHSA-q6w5-jg5q-47vg","title":"@clerk/nextjs auth() and getAuth() methods vulnerable to insecure direct object reference (IDOR) ","description":"### Impact\nUnauthorized access or privilege escalation due to a logic flaw in `auth()` in the App Router or `getAuth()` in the Pages Router.\n\n### Affected Versions\nAll applications that that use `@clerk/nextjs` versions in the range of `\u003e= 4.7.0`,`\u003c 4.29.3` in a Next.js backend to authenticate API Routes, App Router, or Route handlers. Specifically, those that call `auth()` in the App Router or `getAuth()` in the Pages Router. Only the `@clerk/nextjs` SDK is impacted. Other SDKs, including other Javascript-based SDKs, are not impacted.\n\n### Patches\nFix included in `@clerk/nextjs@4.29.3`.\n\n### References\n- https://clerk.com/changelog/2024-01-12\n- https://github.com/clerk/javascript/releases/tag/%40clerk%2Fnextjs%404.29.3","status":"published","published":"2024-01-12T20:27:29Z","modified":"2024-01-15T12:24:54Z","cvss":[{"version":"3.1","score":9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-284","CWE-287","CWE-639"],"updated_at":"2026-11-02T14:37:31.550603Z"}],"nvd":[{"id":"CVE-2024-22206","description":"Clerk helps developers build user management. Unauthorized access or privilege escalation due to a logic flaw in auth() in the App Router or getAuth() in the Pages Router. This vulnerability was patched in version 4.29.3.\n","status":"published","published":"2024-01-12T20:15:47.42Z","modified":"2026-06-17T07:10:56.537Z","cvss":[{"version":"3.1","score":9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"}],"cwes":["CWE-284","CWE-287","CWE-639"],"updated_at":"2026-11-02T14:09:30.070039Z"}],"osv":[{"id":"CVE-2024-22206","title":"@clerk/nextjs auth() and getAuth() methods vulnerable to insecure direct object reference (IDOR)","description":"Clerk helps developers build user management. Unauthorized access or privilege escalation due to a logic flaw in auth() in the App Router or getAuth() in the Pages Router. This vulnerability was patched in version 4.29.3.\n","status":"published","published":"2024-01-12T20:07:40.402Z","modified":"2026-10-28T02:30:55.068764118Z","cvss":[{"version":"3.1","score":9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-284","CWE-287","CWE-639"],"updated_at":"2026-11-02T15:44:38.577405Z"},{"id":"GHSA-q6w5-jg5q-47vg","title":"@clerk/nextjs auth() and getAuth() methods vulnerable to insecure direct object reference (IDOR) ","description":"### Impact\nUnauthorized access or privilege escalation due to a logic flaw in `auth()` in the App Router or `getAuth()` in the Pages Router.\n\n### Affected Versions\nAll applications that that use `@clerk/nextjs` versions in the range of `\u003e= 4.7.0`,`\u003c 4.29.3` in a Next.js backend to authenticate API Routes, App Router, or Route handlers. Specifically, those that call `auth()` in the App Router or `getAuth()` in the Pages Router. Only the `@clerk/nextjs` SDK is impacted. Other SDKs, including other Javascript-based SDKs, are not impacted.\n\n### Patches\nFix included in `@clerk/nextjs@4.29.3`.\n\n### References\n- https://clerk.com/changelog/2024-01-12\n- https://github.com/clerk/javascript/releases/tag/%40clerk%2Fnextjs%404.29.3","status":"published","published":"2024-01-12T20:27:29Z","modified":"2026-09-10T03:50:05.070390984Z","cvss":[{"version":"3.1","score":9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-284","CWE-287","CWE-639"],"updated_at":"2026-11-02T15:46:54.055966Z"}]}}
