CVE-2026-114615 Confusión de algoritmos en Authlib permite falsificar tokens HMAC con claves públicas con prefijo
OctKey.import_key() de Authlib solo verifica los marcadores de clave asimétrica en el byte cero, mientras que sus cargadores PEM aceptan espacios iniciales, comentarios o BOM. En implementaciones que usan el registro de algoritmos mixto documentado y ya configuran la verificación con bytes PEM o de certificado con ese prefijo, un atacante no autenticado que conozca esos mismos bytes de clave pública puede usarlos como secreto HMAC y falsificar tokens HS256 con identidad o permisos arbitrarios. Es un bypass de la…
CVSS 3.1
- Probabilidad de explotación0,1 %
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
authlib
>= 1.3.1, < 1.9.0
Qué hacer
- Verificá si usás authlib y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 7.4 ALTA
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadAlta
- IntegridadAlta
- DisponibilidadNinguna
Descripción original
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.
Referencias (4)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.