{"api_version":"1","generated_at":"2026-05-09T11:18:53+00:00","cve":"CVE-2026-42560","urls":{"html":"https://cve.report/CVE-2026-42560","api":"https://cve.report/api/cve/CVE-2026-42560.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-42560","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-42560"},"summary":{"title":"auth: Patreon provider assigns the same local user ID to every authenticated Patreon account, enabling cross‑user impersonation","description":"auth provides authentication via oauth2, direct and email. From versions 1.18.0 to before 1.25.2 and 2.0.0 to before 2.1.2, the Patreon OAuth provider maps every authenticated Patreon account to the same local user.ID, instead of deriving a unique ID from the Patreon account returned by Patreon. In practice, this means all Patreon-authenticated users of an application using this library are collapsed into a single local identity. Any application that trusts token.User.ID as the stable account key can end up mixing or fully merging unrelated Patreon users, which can lead to cross-account access, privilege confusion, and subscription-state leakage. This issue has been patched in versions 1.25.2 and 2.1.2.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-05-09 06:16:10","updated_at":"2026-05-09 06:16:10"},"problem_types":["CWE-287","CWE-287 CWE-287: Improper Authentication"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"9.1","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"9.1","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/go-pkgz/auth/security/advisories/GHSA-f6qq-3m3h-4g42","name":"https://github.com/go-pkgz/auth/security/advisories/GHSA-f6qq-3m3h-4g42","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-pkgz/auth/releases/tag/v2.1.2","name":"https://github.com/go-pkgz/auth/releases/tag/v2.1.2","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-pkgz/auth/releases/tag/v1.25.2","name":"https://github.com/go-pkgz/auth/releases/tag/v1.25.2","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-pkgz/auth/commit/c0b15ee72a8401da83c01781c16636c521f42698","name":"https://github.com/go-pkgz/auth/commit/c0b15ee72a8401da83c01781c16636c521f42698","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-42560","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42560","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"go-pkgz","product":"auth","version":"affected >= 1.18.0, < 1.25.2","platforms":[]},{"source":"CNA","vendor":"go-pkgz","product":"auth","version":"affected >= 2.0.0, < 2.1.2","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"auth","vendor":"go-pkgz","versions":[{"status":"affected","version":">= 1.18.0, < 1.25.2"},{"status":"affected","version":">= 2.0.0, < 2.1.2"}]}],"descriptions":[{"lang":"en","value":"auth provides authentication via oauth2, direct and email. From versions 1.18.0 to before 1.25.2 and 2.0.0 to before 2.1.2, the Patreon OAuth provider maps every authenticated Patreon account to the same local user.ID, instead of deriving a unique ID from the Patreon account returned by Patreon. In practice, this means all Patreon-authenticated users of an application using this library are collapsed into a single local identity. Any application that trusts token.User.ID as the stable account key can end up mixing or fully merging unrelated Patreon users, which can lead to cross-account access, privilege confusion, and subscription-state leakage. This issue has been patched in versions 1.25.2 and 2.1.2."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-287","description":"CWE-287: Improper Authentication","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-05-09T04:15:01.408Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/go-pkgz/auth/security/advisories/GHSA-f6qq-3m3h-4g42","tags":["x_refsource_CONFIRM"],"url":"https://github.com/go-pkgz/auth/security/advisories/GHSA-f6qq-3m3h-4g42"},{"name":"https://github.com/go-pkgz/auth/commit/c0b15ee72a8401da83c01781c16636c521f42698","tags":["x_refsource_MISC"],"url":"https://github.com/go-pkgz/auth/commit/c0b15ee72a8401da83c01781c16636c521f42698"},{"name":"https://github.com/go-pkgz/auth/releases/tag/v1.25.2","tags":["x_refsource_MISC"],"url":"https://github.com/go-pkgz/auth/releases/tag/v1.25.2"},{"name":"https://github.com/go-pkgz/auth/releases/tag/v2.1.2","tags":["x_refsource_MISC"],"url":"https://github.com/go-pkgz/auth/releases/tag/v2.1.2"}],"source":{"advisory":"GHSA-f6qq-3m3h-4g42","discovery":"UNKNOWN"},"title":"auth: Patreon provider assigns the same local user ID to every authenticated Patreon account, enabling cross‑user impersonation"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-42560","datePublished":"2026-05-09T04:15:01.408Z","dateReserved":"2026-04-28T16:56:50.192Z","dateUpdated":"2026-05-09T04:15:01.408Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-09 06:16:10","lastModifiedDate":"2026-05-09 06:16:10","problem_types":["CWE-287","CWE-287 CWE-287: Improper Authentication"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":5.2}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"42560","Ordinal":"1","Title":"auth: Patreon provider assigns the same local user ID to every a","CVE":"CVE-2026-42560","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"42560","Ordinal":"1","NoteData":"auth provides authentication via oauth2, direct and email. From versions 1.18.0 to before 1.25.2 and 2.0.0 to before 2.1.2, the Patreon OAuth provider maps every authenticated Patreon account to the same local user.ID, instead of deriving a unique ID from the Patreon account returned by Patreon. In practice, this means all Patreon-authenticated users of an application using this library are collapsed into a single local identity. Any application that trusts token.User.ID as the stable account key can end up mixing or fully merging unrelated Patreon users, which can lead to cross-account access, privilege confusion, and subscription-state leakage. This issue has been patched in versions 1.25.2 and 2.1.2.","Type":"Description","Title":"auth: Patreon provider assigns the same local user ID to every a"}]}}}