
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-42560 is an improper authentication vulnerability in the go-pkgz/auth Go library, specifically in its Patreon OAuth2 provider, that causes every authenticated Patreon account to be mapped to the same local user identity. This identity collision enables cross-account access, privilege confusion, and subscription-state leakage across all Patreon-authenticated users of any application using the library. Affected versions are github.com/go-pkgz/auth v1.18.0 through v1.25.1 and github.com/go-pkgz/auth/v2 v2.0.0 through v2.1.1. The vulnerability was discovered by researcher Nadav0077, disclosed via GitHub Security Advisory GHSA-f6qq-3m3h-4g42 on April 22, 2026, and published to NVD on May 9, 2026. It carries a CVSS v3.1 base score of 9.1 (Critical) (GitHub Advisory).
The root cause (CWE-287: Improper Authentication) is a programming error in the Patreon provider's mapUser function in both provider/providers.go and v2/provider/providers.go. The code creates a fresh empty token.User{} struct and then hashes userInfo.ID — which is still an empty string at that point — instead of hashing uinfoJSON.Data.ID, the actual Patreon account ID returned from the API response. The result is that every Patreon login produces the deterministic, constant local ID patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709 (the SHA-1 hash of an empty string). This flaw is exploitable over the network with no privileges and no user interaction required: any attacker with a valid Patreon account can authenticate to an affected application and be treated as the same local identity as every other Patreon user. The bug was also silently encoded into the library's existing test suite, which asserted the constant broken hash value as correct behavior (GitHub Advisory, Fix Commit).
All Patreon-authenticated users of any application built on the affected library versions are collapsed into a single local account identity, meaning any Patreon user can access data, roles, entitlements, and subscription state belonging to other Patreon users. Confidentiality impact is high — sensitive account data and subscription attributes (e.g., is_paid_sub) can leak across unrelated users. Integrity impact is also high — one user's profile or account records can be overwritten by another's login. If the shared local identity holds elevated privileges (e.g., admin or paid-tier access), those privileges are effectively granted to every Patreon login, enabling unauthorized privilege escalation without any additional steps (GitHub Advisory).
A proof-of-concept is included in the GitHub Security Advisory itself, demonstrating that two distinct Patreon account payloads produce identical local user IDs without any network interaction with Patreon. Exploitation requires only a valid Patreon account and access to an application using the vulnerable library — no special privileges or user interaction are needed. There is no public evidence of in-the-wild exploitation or threat actor attribution at this time. The EPSS score is approximately 0.07%, reflecting low current exploitation probability. The vulnerability is not listed in the CISA KEV catalog (GitHub Advisory).
github.com/go-pkgz/auth or github.com/go-pkgz/auth/v2 with the Patreon OAuth provider enabled (versions v1.18.0–v1.25.1 or v2.0.0–v2.1.1).mapUser function hashes an empty string instead of your Patreon account ID, assigning you the constant local ID patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709 — the same ID assigned to every other Patreon user.patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709.patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709 is associated with multiple distinct display names, profile pictures, or subscription states across different sessions."id": "patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709" for any Patreon-authenticated user — this value is the canonical indicator of the vulnerable behavior.Upgrade to github.com/go-pkgz/auth v1.25.2 or github.com/go-pkgz/auth/v2 v2.1.2, which fix the bug by hashing uinfoJSON.Data.ID (the actual Patreon account ID) instead of the uninitialized userInfo.ID field. There is no configuration-based workaround — the flaw is in the library's core user-mapping logic and cannot be mitigated without patching. Maintainers also recommend that application developers review any existing Patreon-linked local accounts created under the broken identifier (patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709) and consider migration guidance to re-associate those records with correct per-user identities (v1.25.2 Release, v2.1.2 Release).
The vulnerability was reported by researcher Nadav0077 and credited in both the v1.25.2 and v2.1.2 release notes. Coverage appeared on The Hacker Wire and was noted on Mastodon (infosec.exchange) and Bluesky shortly after NVD publication. No major vendor statements beyond the maintainer's advisory and patch release have been identified (The Hacker Wire, GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."