<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Cpe:2.3:a:pocket-Id:pocket-Id:*:*:*:*:*:*:*:* - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/cpes/cpe2.3apocket-idpocket-id/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 09 Nov 2026 22:14:31 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/cpes/cpe2.3apocket-idpocket-id/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Pocket ID: Arbitrary audience injection in client credentials grant (CVE-2026-62662)</title><link>https://feed.craftedsignal.io/briefs/2026-11-pocket-id-auth-bypass/</link><pubDate>Mon, 09 Nov 2026 22:14:31 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-11-pocket-id-auth-bypass/</guid><description>Pocket ID contains an authentication bypass vulnerability where an authenticated OIDC client can supply an arbitrary resource parameter to obtain a signed access token for any audience, effectively bypassing service-to-service access controls.</description><content:encoded><![CDATA[<p>Pocket ID is vulnerable to an authentication bypass via its OAuth 2.0 client credentials grant implementation. The application fails to validate the <code>resource</code> parameter provided during the token request in <code>backend/internal/service/oidc_service.go</code>. As a result, any authenticated client can request a token for any audience, including other registered service clients. The system lacks a registry of permitted audiences or authorization policies per client, allowing malicious clients to forge tokens that appear legitimate to downstream resource servers. This vulnerability is tracked as CVE-2026-62662.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker acquires valid credentials for a registered OIDC client.</li>
<li>Attacker initiates an OAuth 2.0 <code>client_credentials</code> grant request to the Pocket ID token endpoint.</li>
<li>Attacker injects an arbitrary value into the <code>resource</code> field of the HTTP POST request.</li>
<li>Pocket ID validates the attacker's client credentials.</li>
<li>Pocket ID fails to validate the <code>resource</code> parameter against any allowlist or registered client metadata.</li>
<li>Pocket ID embeds the attacker-provided <code>resource</code> value into the <code>aud</code> (audience) claim of the generated JWT.</li>
<li>Attacker receives the signed token and uses it to authenticate against a target resource server.</li>
<li>Target resource server validates the token against Pocket ID's JWKS and incorrectly accepts the token due to the spoofed <code>aud</code> claim.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows a compromised or malicious client to impersonate authorized service traffic, effectively breaking service-to-service isolation. The attacker can bypass audience-based access controls and gain unauthorized access to any resource server that relies on Pocket ID for token validation.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade Pocket ID to version 0.0.0-20260622164202-8158452b3730 or later immediately to include mandatory resource validation.</li>
<li>Audit all existing OAuth clients for anomalous token requests to unexpected resource audiences.</li>
<li>Implement strict audience validation logic on all downstream resource servers to verify that the <code>aud</code> claim matches the specific resource identity, even if the token signature is valid.</li>
</ol>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>