CVE-2026-120459 Evasión de autenticación en python-jose vía clave HMAC vacía
python-jose hasta 3.5.0 contiene una vulnerabilidad de evasión de autenticación que permite a atacantes no autenticados falsificar JWT porque HMACKey y CryptographyHMACKey aceptan secretos HMAC de longitud cero. Cuando la clave de verificación HS256/HS384/HS512 de una aplicación se resuelve como vacía, por ejemplo un JWK oct con k vacío, un atacante puede falsificar tokens con reclamos arbitrarios que jwt.decode acepta.
CVSS 3.1
- CVSS 4.09.1 · crítica
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 16
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
mpdavis python-jose
hasta 3.5.0
Qué hacer
- Verificá si usás python-jose 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
CVSS 4.0 · 9.1 CRÍTICA
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataquePresentes
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- Confidencialidad (sistema vulnerable)Alta
- Integridad (sistema vulnerable)Alta
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
python-jose through 3.5.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to forge JWTs because HMACKey and CryptographyHMACKey accept zero-length HMAC secrets. When an application's HS256/HS384/HS512 verification key resolves to empty, such as an oct JWK with empty k, attackers can forge tokens with arbitrary claims that jwt.decode accepts.
Referencias (4)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.