Omnivore Apple Sign-In JWT Algorithm Confusion Authentication Bypass
First seen Aug 30, 2026 · Updated Aug 30, 2026 · CVSS 9.1
A critical authentication bypass exists in Omnivore's API where the Apple sign-in JWT verification logic trusts the attacker-controlled 'alg' header field, enabling a classic RS256-to-HS256 algorithm confusion attack. An attacker can forge valid authentication tokens for any Apple-linked account by signing them with Apple's public RSA key treated as an HMAC secret, resulting in full account takeover without valid credentials.
Technical Analysis
The vulnerability (CVE-2026-82454) stems from decodeAppleToken() in packages/api dynamically extracting the JWT 'alg' header from attacker-supplied input and passing it directly to jwt.verify() as the allowed algorithm, rather than hardcoding an expected algorithm. Because jsonwebtoken v8 does not enforce key-type/algorithm compatibility, an attacker can craft a token with alg=HS256, sign it using Apple's publicly-documented RSA public key as the shared HMAC secret, and produce a signature that validates successfully — a textbook RS256/HS256 key confusion attack. This grants an unauthenticated attacker the ability to impersonate any user with an Apple-linked Omnivore account, leading to full account takeover, data exfiltration, and potential API key or token theft depending on downstream session handling. If Omnivore or similar read-it-later/knowledge-base tools are integrated into RAG pipelines or agent memory/context-ingestion workflows, a compromised account could allow attackers to inject malicious content into an agent's retrieval corpus or exfiltrate stored credentials and API tokens used for automated agent workflows.
Affected Systems
Omnivore API (packages/api) versions prior to commit abf53d6; deployments using jsonwebtoken v8.x for Apple sign-in token verification; any self-hosted or SaaS instance of Omnivore exposing the Apple OAuth login flow
Indicators of Compromise
- N/A - logic flaw, no static file hashes or network indicators; monitor for anomalous Apple sign-in JWTs with alg=HS256 header, unexpected HMAC-signed tokens in auth logs, and unusual login patterns for Apple-linked accounts
Remediation Steps
- 1
Upgrade to patched version
Apply commit abf53d6 or later, or upgrade to the Omnivore release containing the fix that hardcodes the expected JWT algorithm (RS256) instead of trusting the token header.
- 2
Pin allowed algorithms explicitly
Modify jwt.verify() calls to pass an explicit, hardcoded algorithms array (e.g., ['RS256']) and never derive the algorithm from user-supplied JWT headers.
- 3
Upgrade jsonwebtoken library
Update from jsonwebtoken v8 to a version that enforces key/algorithm type matching, or add a custom validation layer to reject mismatched key/algorithm pairs.
- 4
Audit and rotate sessions
Invalidate all existing sessions/tokens issued via the vulnerable Apple sign-in path and force re-authentication for affected accounts.
- 5
Review integration exposure
For organizations using Omnivore as a data source for AI agents or RAG pipelines, audit ingested content and rotate any API keys or credentials that may have been exposed through compromised accounts.
CVE / Advisory IDs
Industries Most Exposed
Respond to this threat
Pro subscribers get a full AI-generated incident-response playbook for this threat — detection, containment, eradication, and recovery steps — plus an unlimited AI Threat Advisor for questions about your environment.