CVE-2026-114615

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

State
Published
Severity
7.4 High
Published
Oct 22, 2026
Updated
Oct 29, 2026
Reserved
Oct 21, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NGitHub_M

Weaknesses

  • CWE-184 Incomplete List of Disallowed Inputs
  • CWE-347 Improper Verification of Cryptographic Signature

Affected Products

ProductVersions
authlibauthlib
  • >= 1.3.1, < 1.9.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.