Especialistas en ciberseguridad reportan la detección de múltiples vulnerabilidades en Node.js, entre las que se encuentran un error de corrupción de memoria y una falla que permitiría el envío de solicitudes HTTP. Como recordará, Node.js es un entorno de ejecución de JavaScript de código abierto creado en JavaScript V8 de Chrome.
La más reciente actualización de Node.js, lanzada el 4 de enero, aborda una falla de corrupción de memoria de uso después de la liberación de alto impacto. Identificada como CVE-2020-8265, la explotación exitosa de la vulnerabilidad podría resultar en una condición de denegación de servicio (DoS) o el desencadenamiento de otras fallas: “Al escribir en un socket habilitado para TLS, node::StreamBase::Write llama a node::TLSWrap::DoWrite con un objeto WriteWrap recién asignado como primer argumento”, menciona la alerta de seguridad emitida por los desarrolladores.
Al parecer, si el método DoWrite no devuelve un error, este objeto se devuelve a la persona que llama como parte de una estructura StreamWriteResult, agregan los expertos en ciberseguridad.
Otra de las fallas detectadas (identificada como CVE-2020-8287) podía ser abusada por los actores de amenazas para lanzar exploits de contrabando de solicitudes HTTP. Las versiones afectadas de Node.js permiten dos copias de un campo de encabezado en una solicitud HTTP; posteriormente Node.js identifica el primer campo de encabezado e ignora el segundo, lo que permite completar esta variante de ataque.
Esta actualización también incluye correcciones para CVE-2020-1971, una vulnerabilidad que afecta la biblioteca criptográfica OpenSSL que podría explotarse a través de Node.js. Las fallas detectadas fueron corregidas en todas las versiones Node.js 10.x, 12.x, 14.x y 15.x. Se insta a los administradores de implementaciones afectadas actualizar a la brevedad.