CVE-2026-114615Authlib incomplete algorithm-confusion fix permits HMAC forgery with prefixed public keys
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.
Overview
Severity
| Score | Severity | Version | Vector String |
|---|---|---|---|
| 9.1 | CRITICAL | 3.1NVD | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| 7.4 | HIGH | 3.1GitHub_M (CNA) | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N |
Details
- CVE ID
- CVE-2026-114615
- Status
- Analyzed
- Assigner (CNA)
- GitHub_M
- Published
- Oct 22, 2026
- Last modified
- 2026-10-29 14:50 UTC
Affected Products
As published by the CNA in the CVE record.
authlibauthlib1 version range
- >= 1.3.1, < 1.9.0