Saltar al contenido
CVE-2026-107722 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de confusión de algoritmos RSA→HS256 en fast-jwt por parche incompleto de CVE-2026-34950

nearform · fast-jwt · Publicada en CVE.org el 08-10-2026 · Última actualización: 09-11-2026

Descripción

fast-jwt proporciona una implementación rápida de JSON Web Token (JWT). Desde la versión 6.2.0 hasta la 6.3.0, fast-jwt puede clasificar erróneamente el texto de una clave pública RSA como un secreto HMAC cuando la clave tiene contenido distinto de espacios en blanco antes de su encabezado PEM. En src/crypto.js, performDetectPublicKeyAlgorithms elimina los espacios en blanco, pero publicKeyPemMatcher sigue anclado al inicio, por lo que comentarios, caracteres de control, caracteres de ancho cero o texto envolvente pueden impedir la detección de PEM y llegar al mecanismo alternativo HMAC. Un atacante que conozca los bytes de la clave pública puede firmar claims HS256 arbitrarios con ese material público cuando HS256 se infiere o está permitido, lo que resulta en una omisión de autenticación o de autorización. Una lista de algoritmos permitidos exclusivamente asimétricos impide el ataque. Este problema está corregido en la versión 6.3.0.

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • fast-jwt Afectadas: >= 6.2.0, < 6.3.0

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion

fast-jwt provides fast JSON Web Token (JWT) implementation. From 6.2.0 until 6.3.0, fast-jwt can misclassify RSA public-key text as an HMAC secret when the key has non-whitespace content before its PEM header. In src/crypto.js, performDetectPublicKeyAlgorithms trims whitespace but publicKeyPemMatcher remains start-anchored, so comments, control characters, zero-width characters, or wrapper text can prevent PEM detection and reach the HMAC fallback. An attacker who knows the public key bytes can sign arbitrary HS256 claims with that public material when HS256 is inferred or allowed, resulting in authentication or authorization bypass. An asymmetric-only algorithm allowlist prevents the attack. This issue is fixed in version 6.3.0.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia