CVE-2026-119186 Evasión de autenticación AES-GCM en Forge por opción tagLength no validada
node-forge no validaba la opción tagLength de AES-GCM pasada a start() al descifrar con forge.cipher.createDecipher(). Si la aplicación derivaba tagLength de datos recibidos o usaba un valor no definido o cero junto con una etiqueta de autenticación vacía o ausente, decipher.finish() aceptaba texto cifrado no autenticado. Corregido en la versión 1.4.1.
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,2 % · percentil 10
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
digitalbazaar forge
< 1.4.1
Qué hacer
- Verificá si usás forge y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 5.9 MEDIA
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadNinguna
- IntegridadAlta
- DisponibilidadNinguna
Descripción original
Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge did not validate the AES-GCM tagLength option passed to start() during decryption through forge.cipher.createDecipher(). When an application derived tagLength from received data or used an unset or zero-like configuration value, a value that converted to zero together with an empty or missing authentication tag caused the calculated and supplied tags to compare as empty, so decipher.finish() accepted unauthenticated ciphertext. Applications that omit tagLength to use the 128-bit default or pass a fixed valid tag length are unaffected. This issue is fixed in version 1.4.1.
Referencias (3)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.