<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Id_collision — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/id_collision/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/id_collision/feed.xml" rel="self" type="application/rss+xml"/><item><title>Patreon OAuth Provider ID Collision Vulnerability in go-pkgz/auth</title><link>https://feed.craftedsignal.io/briefs/2024-01-patreon-auth-id-collision/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-patreon-auth-id-collision/</guid><description>The Patreon OAuth provider in go-pkgz/auth and go-pkgz/auth/v2 maps every authenticated Patreon account to the same local user ID, leading to cross-account access, privilege confusion, and subscription-state leakage.</description><content:encoded><![CDATA[<p>A critical vulnerability exists in the Patreon OAuth provider within the <code>go-pkgz/auth</code> and <code>go-pkgz/auth/v2</code> libraries. Specifically, the <code>mapUser</code> function incorrectly maps all authenticated Patreon accounts to the same local <code>user.ID</code>, instead of generating unique IDs based on the Patreon account data. This flaw, present in versions 1.18.0 through 1.25.1 of <code>go-pkgz/auth</code> and 2.0.0 through 2.1.1 of <code>go-pkgz/auth/v2</code>, arises because the code hashes an uninitialized field instead of the Patreon user ID. This means that all Patreon users are effectively treated as a single identity within applications using these libraries. The vulnerability poses a significant risk to applications relying on <code>token.User.ID</code> for authentication and authorization decisions.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A user attempts to authenticate with an application using the affected <code>go-pkgz/auth</code> library and the Patreon OAuth provider.</li>
<li>The application redirects the user to Patreon for authentication.</li>
<li>The user authenticates with Patreon and is redirected back to the application with an authorization code.</li>
<li>The application exchanges the authorization code for an access token.</li>
<li>The application uses the access token to retrieve the user&rsquo;s Patreon profile data.</li>
<li>The application calls the vulnerable <code>mapUser</code> function within the <code>go-pkgz/auth</code> library to map the Patreon user to a local user. Due to the vulnerability, all users are mapped to the same local user ID: <code>patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709</code>.</li>
<li>The application stores the mapped user object in JWT claims.</li>
<li>Subsequent requests from different Patreon users are treated as coming from the same user, potentially leading to data leakage, privilege escalation, or account takeover.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability can lead to severe consequences for applications using the affected libraries. If successful, all Patreon-authenticated users may be collapsed into a single local account. This can result in data associated with one Patreon user being exposed to or overwritten by another. Additionally, Patreon-specific attributes like subscription status can leak across unrelated users. If the application grants elevated privileges to the local account associated with the shared Patreon ID, those privileges can effectively apply to every Patreon login.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>go-pkgz/auth</code> to a version higher than 1.25.1 or <code>go-pkgz/auth/v2</code> to a version higher than 2.1.1 to patch CVE-2026-42560.</li>
<li>Review and update any existing applications using the vulnerable Patreon provider to ensure proper user ID mapping after patching CVE-2026-42560.</li>
<li>Deploy the Sigma rule &ldquo;Patreon Auth ID Collision Attempt&rdquo; to detect potential exploitation by monitoring for the specific user ID pattern <code>patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709</code> in authentication logs.</li>
<li>Implement additional logging and monitoring to track user authentication events and identify any anomalies in user ID assignments.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>authentication</category><category>oauth</category><category>id_collision</category><category>vulnerability</category></item></channel></rss>