Vulnerability · Published Oct 22, 2026 · Assigned by GitHub_M
CVE-2026-114615Authlib incomplete algorithm-confusion fix permits HMAC forgery with prefixed public keys
High 7.4
In plain English
A high-severity security flaw in authlib from authlib. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 12% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | python-authlib | no fix listed | DEBIAN-CVE-2026-114615 |
| Debian:13 | python-authlib | no fix listed | DEBIAN-CVE-2026-114615 |
| Debian:14 | python-authlib | 1.9.1-1 | DEBIAN-CVE-2026-114615 |
| PyPI | authlib | 1.9.0 | GHSA-7vr2-2fgp-9w7p |
| PyPI | authlib | 1.9.0 | PYSEC-2026-4355 |
| Ubuntu:26.10 | python-authlib | no fix listed | UBUNTU-CVE-2026-114615 |
Affected products (as reported)
Weakness: CWE-184, CWE-347 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
References
- https://github.com/authlib/authlib/security/advisories/GHSA-7vr2-2fgp-9w7p x_refsource_CONFIRM
- https://github.com/authlib/authlib/pull/945 x_refsource_MISC
- https://github.com/authlib/authlib/commit/e3bd41cb29dcfee434453b135ffb487884baeedf x_refsource_MISC
- https://github.com/authlib/authlib/releases/tag/v1.9.0 x_refsource_MISC