{"id":"CVE-2026-114615","title":"Authlib incomplete algorithm-confusion fix permits HMAC forgery with prefixed public keys","summary":"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 …","severity":"high","cvss":7.4,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","cvssSource":"cna","cwe":["CWE-184","CWE-347"],"vendor":"authlib","product":"authlib","affected":["authlib >= 1.3.1, < 1.9.0"],"published":"2026-10-22","updated":"2026-10-22","sourceUpdated":"2026-10-22T21:10:02.023Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-114615","references":[{"url":"https://github.com/authlib/authlib/security/advisories/GHSA-7vr2-2fgp-9w7p","label":"https://github.com/authlib/authlib/security/advisories/GHSA-7vr2-2fgp-9w7p"},{"url":"https://github.com/authlib/authlib/pull/945","label":"https://github.com/authlib/authlib/pull/945"},{"url":"https://github.com/authlib/authlib/commit/e3bd41cb29dcfee434453b135ffb487884baeedf","label":"https://github.com/authlib/authlib/commit/e3bd41cb29dcfee434453b135ffb487884baeedf"},{"url":"https://github.com/authlib/authlib/releases/tag/v1.9.0","label":"https://github.com/authlib/authlib/releases/tag/v1.9.0"}],"tags":["cve.org"],"ingestedAt":"2026-10-22T22:00:50.440Z","slug":"CVE-2026-114615","body":"## Overview\n\nAuthlib 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.\n\n## Affected\n\n- `authlib >= 1.3.1, < 1.9.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":40.7,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}