CVE-2023-48223
fast-jwt Confusión de Algoritmos JWT
- Publicado
- 20 nov 2023
- Actualizado
- 2 ago 2024
- Asignación de CNA
- GitHub_M
- Evidencia observada
- 8 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:NBajo · próximos 30 días
- Percentil
- 50,6 %
- 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 la versión 3.3.2, la librería fast-jwt no evita adecuadamente la confusión del algoritmo JWT para todos los tipos de claves públicas. El 'publicKeyPemMatcher' en 'fast-jwt/src/crypto.js' no coincide correctamente con todos los formatos PEM comunes para claves públicas. Para explotar esta vulnerabilidad, un atacante necesita crear un token JWT malicioso que contenga el algoritmo HS256, firmado con la clave RSA pública de la aplicación víctima. Este ataque solo funcionará si la aplicación víctima utiliza una clave pública que contenga el encabezado "BEGIN RSA PUBLIC KEY". Las aplicaciones que utilizan el algoritmo RS256, una clave pública con un encabezado "BEGIN RSA PUBLIC KEY", y que llaman a la función de verificación sin proporcionar explícitamente un algoritmo, son vulnerables a este ataque de confusión de algoritmo que permite a los atacantes firmar payloads arbitrarios que serán aceptadas por el verificador. La versión 3.3.2 contiene un parche para este problema. Como workaround, cambie la línea 29 de `blob/master/src/crypto.js` para incluir una expresión regular.
Fuentes
1Prueba de concepto que demuestra la confusión de algoritmo JWT en la librería fast-jwt. Incluye un servidor vulnerable, un script de falsificación de tokens y una corrección de verificación para educación en seguridad.
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.