Node.js: dos vulnerabilidades críticas de seguridad HTTP

La investigación y el análisis de vulnerabilidades son tareas vitales en la comunidad de la ciberseguridad para mantener los desarrollos de software protegidos contra las más recientes amenazas de seguridad. Recientemente se lanzaron algunas actualizaciones para Node.js, que se enfocan en la corrección de una vulnerabilidad crítica, así como en otras dos fallas de severidad alta.

Cabe recordar que Node.js, creado por Ryan Dahl, es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google.

Las fallas reportadas, con sus respectivos identificadores CVSS, son:

  • CVE-2019-15606: los valores de encabezado HTTP no tienen OWS final recortados. Los valores de encabezado HTTP pueden tener OWS al final, pero deben eliminarse. No es semánticamente parte del valor del encabezado, y si se trata como parte del valor, puede causar una desigualdad espuria entre los valores de encabezado esperados y reales
  • CVE-2019-15605: contrabando de solicitudes HTTP utilizando un encabezado de codificación de transferencia con formato incorrecto
  • CVE-2019-15604: activación remota de una aserción en un servidor TLS con una cadena de certificado con formato incorrecto. Node.js es vulnerable a un problema de TLS que podría desencadenar de forma remota una aserción en un servidor TLS con una cadena de certificado con formato incorrecto

Acorde al anuncio de los desarrolladores, la principal actualización se refiere al análisis HTTP, que ha fortalecido sus medidas de seguridad: “Aunque esto pude causar problemas de interoperabilidad con algunas implementaciones sin soporte, es posible deshabilitar las verificaciones actualizadas con el indicador de línea –insecure-http-parser command; también debe evitarse el uso de un analizador HTTP inseguro”.

El análisis de vulnerabilidades indica que todas las versiones 10.x, 12.x y 13.x compatibles de Nodes.js son vulnerables a la explotación de esta falla. Los desarrolladores recomiendan a los usuarios instalar las actualizaciones a la brevedad para mitigar el riesgo de explotación. Las versiones actualizadas del desarrollo de software son: 10.19.0, 12.15.0 y 13.8.0.

La labor colaborativa de investigadores independientes, hackers éticos, además de la implementación de procesos de análisis de vulnerabilidades puesta en práctica por múltiples firmas y organizaciones privadas, como el Instituto Internacional de Seguridad Cibernética (IICS), ayudan a las compañías y desarrolladores de herramientas ampliamente utilizadas a mantenerse a la vanguardia en el complejo panorama actual de ciberseguridad.