CVE-2026-114618: Authlib: Default JWT bearer grant accepts assertions for the wrong audience
Authlib’s default RFC 7523 JWT bearer grant leaves get_audiences() empty, so verify_claims() only checks that an aud claim exists instead of requiring it to match the current authorization server’s token endpoint. An attacker holding a legitimately issued JWT assertion for any audience can present it to a different authorization server sharing the same signing key and obtain an access token.
To be completely transparent, AI tools helped surface it. However, we have independently reproduced and carefully validated the issue. We follow responsible disclosure practices and are sharing this privately.
References
- github.com/advisories/GHSA-fch4-3c6x-j4gc
- github.com/authlib/authlib/commit/e3bd41cb29dcfee434453b135ffb487884baeedf
- github.com/authlib/authlib/pull/945
- github.com/authlib/authlib/releases/tag/v1.9.0
- github.com/authlib/authlib/security/advisories/GHSA-fch4-3c6x-j4gc
- nvd.nist.gov/vuln/detail/CVE-2026-114618
Code Behaviors & Features
Detect and mitigate CVE-2026-114618 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →