Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain MITM or control of discovery endpoint
-
DeliveryServe poisoned discovery JSON
-
ExploitAuthlib caches unvalidated endpoints
-
ExecutionClient redirects auth/token requests to attacker
-
ImpactCapture credentials and tokens
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Requires that the attacker be able to poison or intercept the HTTP response returned when Authlib (version ≤1.7.2) fetches server discovery/metadata JSON - i.e. an attacker-in-the-middle position on the metadata fetch, a compromised network path, or a malicious/compromised discovery endpoint the client is pointed at. The flaw is that Authlib caches these discovery values without validating or origin-binding the endpoint URLs to the configured issuer/metadata URL, so substituted endpoints are trusted. Limiting factors: a privileged network position or control of the discovery response is required; metadata fetched over properly validated TLS directly from a trusted issuer is not exploitable without first defeating that channel, which meaningfully constrains realistic exploitation despite the critical impact. |
| Impact | Signals conflict sharply and should be weighed carefully. The input CVSS of 9.8 (AV:N/AC:L/PR:N/UI:N, C:H/I:H/A:H) and SSVC (Technical Impact: total, Automatable: yes) portray a trivially-exploitable critical flaw, and CWE-345 (insufficient verification of data authenticity) matches the described failure to bind discovery-endpoint URLs to the issuer origin. However, EPSS is only 0.10% (1st percentile), the CVE is NOT in CISA KEV, and SSVC exploitation is merely 'poc' - so there is no evidence of real-world or widespread exploitation. More importantly, the description's exploitation primitive is a 'poisoned discovery response,' which in practice requires an attacker-in-the-middle position on the metadata fetch or a compromised/malicious discovery endpoint; this is inconsistent with the input vector's AC:L/no-MITM assumption (I independently assess AC:H - see assessed vector). Net judgment: this is a genuine high-impact design flaw in a trust-critical OAuth/OIDC code path and should be patched promptly, but it is NOT a drop-everything mass-exploitation priority - the very low EPSS and the privileged-network-position prerequisite point to targeted, not opportunistic, risk. |
| Exploit ScenarioDerived | An application uses Authlib (≤1.7.2) as an OAuth/OIDC client and fetches its provider's discovery metadata over the network. An attacker able to intercept or poison that discovery response substitutes the authorization/token/userinfo endpoints with attacker-controlled URLs; because Authlib caches the metadata without binding endpoints to the issuer origin, the client then sends credentials, authorization codes, or tokens to the attacker. A proof-of-concept is referenced (SSVC: poc) via a public write-up, though no CISA KEV active-exploitation listing exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Poisoned OAuth/OIDC discovery metadata in Authlib 1.7.2 and earlier allows an attacker who controls or intercepts the metadata fetch to replace every cached endpoint - authorization, token, JWKS and userinfo URLs - with attacker-controlled values, enabling token theft, credential interception and authentication bypass in applications built on the library. Publicly available exploit code exists (SSVC exploitation: poc) and the flaw is rated fully automatable with total technical impact, although it is not listed in CISA KEV; EPSS is low at 0.10% (1st percentile). The supplied CVSS of 9.8 overstates realistic reachability versus our assessed 8.1 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N), because exploitation requires a privileged network position on the discovery fetch or a compromised/malicious issuer endpoint, and TLS-validated metadata from a trusted issuer is not exploitable without first defeating that channel.
RemediationAI
No vendor-released patch was identified at time of analysis; the supplied references contain no fix version, GitHub PR/commit or tagged release, so the primary action is to track the Authlib project and NVD advisory at https://nvd.nist.gov/vuln/detail/CVE-2026-104056 for an updated release fixing CWE-345 in the discovery cache. Until then, apply compensating controls that directly address the missing origin binding: statically pin all provider endpoints (authorization, token, JWKS, userinfo) in configuration instead of relying on runtime discovery, which eliminates the attack surface at the cost of manual maintenance when the issuer rotates endpoints; or, if discovery must be used, fetch it once over a strictly certificate-validated TLS channel from a hard-coded, trusted issuer URL, validate every returned endpoint against that issuer's origin, and refuse to cache or trust any value that is not same-origin (trade-off: breaks legitimate multi-domain/tenant issuers that intentionally serve endpoints from different hosts). Restrict outbound egress from the client to the trusted issuer host so a poisoned response cannot point the application at an attacker-controlled endpoint, which will break deployments that legitimately contact multiple identity providers. Avoid fetching discovery over plaintext HTTP or through untrusted proxies, and monitor library caches and configuration for unexpected endpoint changes; the MITM/malicious-endpoint prerequisite means hardening TLS trust stores and certificate validation materially raises the exploitation bar even before a patch lands.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a CWE-345 insufficient verification of data authenticity flaw in Authlib's OAuth 2.0 / OpenID Connect discovery handling. Per RFC 8414 and OpenID Connect Discovery, a client retrieves provider metadata from a .well-known endpoint and then trusts the returned keys such as authorization_endpoint, token_endpoint, jwks_uri, userinfo_endpoint, registration_endpoint and revocation_endpoint; Authlib 1.7.2 and below caches that JSON without validating that the returned endpoint URLs are origin-bound to the configured server metadata URL, so a substituted document is accepted and its attacker-chosen endpoints persist in the cache across requests. The CPE cpe:2.3:a:authlib:authlib:*:*:*:*:*:*:*:* indicates the whole product line is affected, while EUVD (EUVD-2026-91003) enumerates the released version 1.7.2 as vulnerable; the CVSS vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H assumes an unauthenticated remote attacker with low complexity, whereas the authoritative assessment rates AC:H because the attacker must poison or intercept the HTTP response - via MITM, compromised network path, or a malicious discovery endpoint the client is configured against - before the unvalidated values are trusted. Integrity and confidentiality are both fully impacted (redirected token exchange, forced JWKS substitution enabling forged-token acceptance, credential harvesting via attacker endpoints); availability is assessed as not impacted, unlike the supplied vector.
Know when Authlib gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Sources disagree (Medium–Critical)AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AC:H because exploitation needs MITM or a poisoned discovery channel, not a trivial request; PR:N/UI:N as no target auth or user action is needed; C:H/I:H for credential/token capture and flow redirection, A:N as availability is not the primary impact.
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorVendor: certcc
Lifecycle Timeline
3DescriptionCVE.org
Authlib version 1.7.2 and below contains a vulnerability where discovery JSON metadata is cached without validation or issuer-origin binding. This allows a poisoned discovery response to replace all endpoint values with attacker-controlled values rather than endpoint URLs that share the origin of the configured server metadata URL.
Executive ViewAI
Applications built on Authlib 1.7.2 and earlier are exposed to a critical authentication bypass vulnerability where poisoned OAuth/OIDC discovery metadata can redirect all authentication endpoints to attacker-controlled servers, enabling token theft and credential interception. This affects any organization relying on Authlib for identity federation, potentially leading to unauthorized access to sensitive systems and data. While publicly available exploit code exists, exploitation requires a privileged network position or a compromised issuer, making immediate mitigation critical until a vendor patch is released.
Implement network segmentation to limit exposure of metadata fetches, enforce strict TLS certificate validation and pinning, hardcode trusted OAuth/OIDC endpoints to avoid dynamic discovery, and monitor for unauthorized endpoint changes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Authlib is a Python library which builds OAuth and OpenID Connect servers. [CVSS 5.7 MEDIUM]
Authentication bypass in Authlib (Python OAuth/OpenID Connect library) versions 1.6.5 through 1.6.6 allows remote attack
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Rated high severity (CVSS 7.5), this v
Signature verification bypass in Authlib 1.7.2 and earlier allows unauthenticated remote attackers to have crafted JWS J
Authentication bypass in the joserfc Python library before 1.7.4 lets remote, unauthenticated attackers submit a JWS Gen
Cross-site request forgery (CSRF) in Authlib's Starlette OAuth client cache feature (versions prior to 1.6.11) allows un
Resource exhaustion in joserfc (versions 1.3.4-1.6.5) is possible because the RFC7797 unencoded-payload (b64=false) JWS
JWT malleability in joserfc versions 1.7.1 and prior allows a low-privileged user holding a valid token to craft alterna
Authlib is a Python library which builds OAuth and OpenID Connect servers. Rated high severity (CVSS 7.5), this vulnerab
EUVD-2026-91003
GHSA-8wx9-759m-hfm8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB