Vulnerabilidad en el paquete node-weakauras-parser de Node.js

Recientemente se ha descubierto una vulnerabilidad en el paquete node-weakauras-parser de Node.js el cual afecta a las versiones 1.0.4, 2.0.0, 2.0.1 y 3.0.0.

El fallo concretamente se da en la función encode_weakaura() y es debido a que esta no puede validar correctamente un búfer de 13835058055282163711 bytes, lo que provoca un desbordamiento de buffer (buffer overflow) en los sistemas de 64 bits. La explotación exitosa de esta vulnerabilidad permitiría a un atacante la ejecución de código o realizar ataques de denegación de servicio (DoS).

A continuación se observa la porción de código vulnerable:

Es importante además recordar que en febrero de este año se dio a conocer tres vulnerabilidades, dos de ellas catalogadas como críticas e identificadas como CVE-2019-15606 y CVE-2019-15605; la otra catalogada con gravedad alta e identificada como CVE-2019-15604. Estos fallos afectan a todas las versiones 10.x, 12.x y 13.x de nodes.js.

El CVE-2019-15606, se da debido a que los valores de encabezado HTTP no cuentan con OWS final recortado, lo que permitiría a un atacante incluir espacios en blanco al final de los valores de encabezado HTTP, y así eludir las comprobaciones de seguridad basadas en los valores del encabezado HTTP.

A continuación se puede observar la porción del código vulnerable:

Por otro lado el CVE-2019-15605, da lugar a una vulnerabilidad conocida como «Contrabando de solicitudes HTTP» y es debido a que las versiones vulnerables utilizan un encabezado de codificación de transferencia con formato incorrecto. La explotación exitosa de esta vulnerabilidad permitiría a un atacante remoto enviar código malicioso a los usuarios, logrando secuestrar las sesiones de los mismos, envenenar cookies y una multitud de otros ataques dependiendo de la arquitectura del sistema subyacente.

A continuación se puede observar la porción del código vulnerable:

Por último el CVE-2019-15604, se da debido a una validación incorrecta del certificado y permitiría a un atacante activar remotamente una aserción en un servidor TLS con un certificado cuyo subjectAltName contenga una cadena del tipo 19.

A continuación se puede observar la porción del código vulnerable:

Recomendaciones:

Referencias:

Compartir: