Description
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.9.0, the default RFC 7523 JWTBearerGrant.get_audiences() returns an empty list, causing JWTBearerGrant.verify_claims() to require only that an aud claim exists without matching the current authorization server. An attacker holding a legitimate assertion for another service can present it to a server that shares the signing key and uses the default grant, obtaining an access token across a trust boundary. Implementations that override get_audiences() with the server's valid audience identifiers are not affected. This issue is fixed in version 1.9.0.
Affected products
authlib: authlib
References5
- github.com/authlib/authlib/security/advisories/GHSA-fch4-3c6x-j… ExploitVendor Advisory
- github.com/authlib/authlib/security/advisories/GHSA-fch4-3c6x-j… ExploitVendor Advisory
- github.com/authlib/authlib/commit/e3bd41cb29dcfee434453b135ffb4… Patch
- github.com/authlib/authlib/pull/945 Patch
- github.com/authlib/authlib/releases/tag/v1.9.0 Release Notes
Metrics
- CVSS 3.1
-
6.8
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N - EPSS — exploit probability
- 0% percentile: 29 · as of 8 November 2026
- CWE
- CWE-287CWE-1188
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.