Vulnerabilidad en fast-jwt (CVE-2023-48223)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
20/11/2023
Última modificación:
29/11/2023
Descripción
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.
Impacto
Puntuación base 3.x
5.90
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:nearform:fast-jwt:*:*:*:*:*:node.js:*:* | 3.3.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página