Description
Authlib is a Python library which builds OAuth and OpenID Connect servers. From 1.3.1 until 1.9.0, OctKey.import_key() checks asymmetric-key markers only at byte zero while Authlib's PEM loaders accept leading whitespace, comments, or a byte-order mark. In deployments that use the documented mixed algorithm registry and already configure verification with PEM or certificate bytes containing such a prefix, an unauthenticated attacker who knows those same public-key bytes can use them as an HMAC secret and forge HS256 tokens with arbitrary identity or authorization claims. This is a bypass of the remediation for CVE-2024-37568. The module-level jwt object reaches OctKey.import_key() in authlib/jose/rfc7518/oct_key.py, where POSSIBLE_UNSAFE_KEYS fails to identify prefixed asymmetric key material. This issue is fixed in version 1.9.0.
Affected products
authlib: authlib
References5
- github.com/authlib/authlib/security/advisories/GHSA-7vr2-2fgp-9… ExploitMitigationVendor Advisory
- github.com/authlib/authlib/security/advisories/GHSA-7vr2-2fgp-9… ExploitMitigationVendor 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
-
9.1
CRITICAL
Score source: NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - EPSS — exploit probability
- 0% percentile: 12 · as of 8 November 2026
- CWE
- CWE-184CWE-347
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.