CVE

Vulnerabilidad en fast-jwt (CVE-2023-48223)

Severidad:
MEDIA
Type:
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.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:nearform:fast-jwt:*:*:*:*:*:node.js:*:* 3.3.2 (excluyendo)