CVE-2026-44351
fast-jwt: Se acepta un secreto HMAC vacío mediante el resolutor de claves asíncrono - Omisión de autenticación JWT
- Publicado
- 13 may 2026
- Actualizado
- 14 may 2026
- Asignación de CNA
- GitHub_M
- Evidencia observada
- 15 sept 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NBajo · próximos 30 días
- Percentil
- 15,0 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
fast-jwt proporciona una implementación rápida de JSON Web Token (JWT). Antes de 6.2.4, una vulnerabilidad crítica de omisión de autenticación en el flujo de resolución de claves asíncrono de fast-jwt permite a cualquier atacante no autenticado falsificar JWTs arbitrarios que son aceptados como auténticos. Cuando el solucionador de claves de la aplicación devuelve una cadena vacía (''), por ejemplo mediante el fallback común de estilo JWKS `keys[decoded.header.kid] || ''`, fast-jwt lo convierte en un Buffer de longitud cero, lo pasa a `crypto.createSecretKey`, deriva `allowedAlgorithms = ['HS256','HS384','HS512']` a partir de él, y luego verifica la firma del token contra un HMAC de clave vacía. El atacante simplemente calcula HMAC-SHA256(key='', input='${header}.${payload}'), que Node acepta sin quejarse — y el verificador devuelve el payload elegido por el atacante (sub, admin, scopes, etc.) como auténtico. Esta vulnerabilidad está corregida en 6.2.4.
Fuentes
1Proof-of-concept for CVE-2026-44351, an authentication bypass in fast-jwt <6.2.4 where an empty HMAC key lets attackers forge arbitrary JWTs accepted as valid.
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.