← All vulnerabilities
CVE-2026-114615EUVD-2026-108514

Authlib incomplete algorithm-confusion fix permits HMAC forgery with prefixed public keys

Published
Last modified
Status
published
Known exploitation
Not listed in CISA KEV
Public exploit
None on Exploit-DB

Summary

Authlib, a Python library used to build OAuth and OpenID Connect servers, is affected in versions from 1.3.1 up to (but not including) 1.9.0. In certain configurations, an unauthenticated attacker who knows a server's public key can use it as an HMAC secret to forge tokens carrying arbitrary identity or authorization claims.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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 versions

  • authlib authlib

    From 1.3.1 · fixed in 1.9.0

References 4

GitHub · authlib/authlib