Impact
The vulnerability lies in Authlib’s default JWTBearerGrant implementation, which incorrectly accepts JWT assertions whose audience claims do not match the authorization server. By returning an empty audience list, the verification step only requires the presence of an aud claim, allowing an attacker holding a valid assertion for a different service to acquire a token for the target server. This effectively bypasses authentication and enables cross‑trust‑boundary access.
Affected Systems
Applications using the Authlib library, specifically the authlib:authlib product in versions prior to 1.9.0, are affected if they rely on the default JWTBearerGrant without overriding the get_audiences method.
Risk and Exploitability
The CVSS score of 6.8 reflects a moderate severity authentication bypass. EPSS is not publicly available, and the vulnerability is not listed in CISA KEV. An attacker who possesses a valid JWT assertion for another service that shares the same signing key can exploit this flaw by sending the assertion to the vulnerable server and receiving a usable access token. The attack requires only the assertion and the ability to reach the server, making it relatively straightforward in environments with shared keys.
OpenCVE Enrichment
Github GHSA