{"api_version":"1","generated_at":"2026-07-23T15:15:36+00:00","cve":"CVE-2026-53514","urls":{"html":"https://cve.report/CVE-2026-53514","api":"https://cve.report/api/cve/CVE-2026-53514.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-53514","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-53514"},"summary":{"title":"Better Auth: Unauthorized invitation acceptance via unverified email match in organization plugin","description":"Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, and in 1.6.14 and later when invitation IDs can be obtained outside the invited mailbox and requireEmailVerificationOnInvitation: true is not enabled, the organization plugin's acceptInvitation, rejectInvitation, getInvitation, and listUserInvitations recipient endpoints use session.user.email and an invitation ID without sufficient verified-email ownership proof, allowing a user with an unverified session for the invited email address to accept an organization invitation after obtaining the invitation ID. This issue is fixed for the original default behavior in version 1.6.11, while 1.6.14 restored compatibility for built-in opaque invitation IDs and leaves affected configurations requiring secure options.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-07-15 18:16:47","updated_at":"2026-07-21 13:41:03"},"problem_types":["CWE-287","CWE-345","CWE-441","CWE-862","CWE-287 CWE-287: Improper Authentication","CWE-345 CWE-345: Insufficient Verification of Data Authenticity","CWE-441 CWE-441: Unintended Proxy or Intermediary ('Confused Deputy')","CWE-862 CWE-862: Missing Authorization"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7.7","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","baseScore":7.7,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.7","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.7,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8","name":"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8","refsource":"security-advisories@github.com","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/better-auth/better-auth/pull/9577","name":"https://github.com/better-auth/better-auth/pull/9577","refsource":"security-advisories@github.com","tags":["Issue Tracking","Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.11","name":"https://github.com/better-auth/better-auth/releases/tag/v1.6.11","refsource":"security-advisories@github.com","tags":["Release Notes"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/better-auth/better-auth/security/advisories/GHSA-fmh4-wcc4-5jm3","name":"https://github.com/better-auth/better-auth/security/advisories/GHSA-fmh4-wcc4-5jm3","refsource":"security-advisories@github.com","tags":["Mitigation","Vendor Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53514","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53514","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"better-auth","product":"better-auth","version":"affected < 1.6.11","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2026","cve_id":"53514","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"better-auth","cpe5":"better_auth","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"53514","cve":"CVE-2026-53514","epss":"0.002020000","percentile":"0.103460000","score_date":"2026-07-20","updated_at":"2026-07-21 00:13:14"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-53514","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-07-18T01:12:49.992831Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-07-18T01:13:02.175Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"better-auth","vendor":"better-auth","versions":[{"status":"affected","version":"< 1.6.11"}]}],"descriptions":[{"lang":"en","value":"Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, and in 1.6.14 and later when invitation IDs can be obtained outside the invited mailbox and requireEmailVerificationOnInvitation: true is not enabled, the organization plugin's acceptInvitation, rejectInvitation, getInvitation, and listUserInvitations recipient endpoints use session.user.email and an invitation ID without sufficient verified-email ownership proof, allowing a user with an unverified session for the invited email address to accept an organization invitation after obtaining the invitation ID. This issue is fixed for the original default behavior in version 1.6.11, while 1.6.14 restored compatibility for built-in opaque invitation IDs and leaves affected configurations requiring secure options."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.7,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-287","description":"CWE-287: Improper Authentication","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-345","description":"CWE-345: Insufficient Verification of Data Authenticity","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-441","description":"CWE-441: Unintended Proxy or Intermediary ('Confused Deputy')","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-862","description":"CWE-862: Missing Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-07-15T17:30:46.069Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/better-auth/better-auth/security/advisories/GHSA-fmh4-wcc4-5jm3","tags":["x_refsource_CONFIRM"],"url":"https://github.com/better-auth/better-auth/security/advisories/GHSA-fmh4-wcc4-5jm3"},{"name":"https://github.com/better-auth/better-auth/pull/9577","tags":["x_refsource_MISC"],"url":"https://github.com/better-auth/better-auth/pull/9577"},{"name":"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8","tags":["x_refsource_MISC"],"url":"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8"},{"name":"https://github.com/better-auth/better-auth/releases/tag/v1.6.11","tags":["x_refsource_MISC"],"url":"https://github.com/better-auth/better-auth/releases/tag/v1.6.11"}],"source":{"advisory":"GHSA-fmh4-wcc4-5jm3","discovery":"UNKNOWN"},"title":"Better Auth: Unauthorized invitation acceptance via unverified email match in organization plugin"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-53514","datePublished":"2026-07-15T17:30:46.069Z","dateReserved":"2026-06-09T17:30:33.456Z","dateUpdated":"2026-07-18T01:13:02.175Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-15 18:16:47","lastModifiedDate":"2026-07-21 13:41:03","problem_types":["CWE-287","CWE-345","CWE-441","CWE-862","CWE-287 CWE-287: Improper Authentication","CWE-345 CWE-345: Insufficient Verification of Data Authenticity","CWE-441 CWE-441: Unintended Proxy or Intermediary ('Confused Deputy')","CWE-862 CWE-862: Missing Authorization"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","baseScore":7.7,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":1.3,"impactScore":5.8}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-07-18T01:12:49.992831Z","id":"CVE-2026-53514","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:better-auth:better_auth:*:*:*:*:*:node.js:*:*","versionEndExcluding":"1.6.11","matchCriteriaId":"D6B0ABDE-DB8E-4B1C-B3E3-11CB467359A2"},{"vulnerable":true,"criteria":"cpe:2.3:a:better-auth:better_auth:*:*:*:*:*:node.js:*:*","versionStartIncluding":"1.6.14","matchCriteriaId":"26891C33-F1E2-4C6D-B05C-17F9A52DB271"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"53514","Ordinal":"1","Title":"Better Auth: Unauthorized invitation acceptance via unverified e","CVE":"CVE-2026-53514","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"53514","Ordinal":"1","NoteData":"Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, and in 1.6.14 and later when invitation IDs can be obtained outside the invited mailbox and requireEmailVerificationOnInvitation: true is not enabled, the organization plugin's acceptInvitation, rejectInvitation, getInvitation, and listUserInvitations recipient endpoints use session.user.email and an invitation ID without sufficient verified-email ownership proof, allowing a user with an unverified session for the invited email address to accept an organization invitation after obtaining the invitation ID. This issue is fixed for the original default behavior in version 1.6.11, while 1.6.14 restored compatibility for built-in opaque invitation IDs and leaves affected configurations requiring secure options.","Type":"Description","Title":"Better Auth: Unauthorized invitation acceptance via unverified e"}]}}}