Fallas críticas en popular paquete de Node.js permite la ejecución de código arbitrario; actualice ahora

El equipo detrás de systeminformation anunció la corrección de una severa falla de seguridad que exponía a las aplicaciones vulnerables a ataques de inyección de comandos arbitrarios en el popular paquete de Node.js. Recordemos que systeminformation provee de decenas de funcionalidades para recuperar información del hardware y software de los servidores que alojan aplicaciones de Node.js y cuenta con más de 850 mil descargas semanales del repositorio oficial.

Esta variante de ataque permite que cualquier actor de amenazas manipule una aplicación a través del envío de comandos a nivel de sistema al servidor host. Si una función inserta cadenas de entrada de usuario en comandos del sistema sin la revisión adecuada, un hacker malicioso puede aprovechar esta falla para que la función ejecute código arbitrario a nivel sistema.

Sebastian Hildbrandt, principal mantenedor del software, menciona que systeminformation no está pensado para su uso en conjunto con entradas de usuario: “La situación con systeminformation es que es un paquete destinado a su uso en el backend; la intención era que los desarrolladores usaran este software con el mayor cuidado posible.”

El mantenedor del software también menciona que en algunos casos, los desarrolladores abren algunas de las funciones de la biblioteca a sus usuarios finales, permitiendo el paso de parámetros que eventualmente serán enviados al paquete de systeminformation: “Este paquete incluye un conjunto de funciones de desinfección que proporcionan una verificación básica de parámetros. Los mantenedores somos ajenos al contexto en el que se manejan estos paquetes”, agrega Hildebrandt.

Después de analizar la situación se reportó que cuatro funciones de systeminformation son vulnerables a este ataque de inyección de comandos arbitrarios, condición que podría estar relacionada con un caso especial de verificación incorrecta de parámetros y depuración de matriz. Hildebrandt agrega que, si la entrada no fue depurada y los usuarios pudieran pasar de una matriz de JavaScript como parámetro a las funciones dadas, esto podrí devenir en la ejecución de código arbitrario, provocando condiciones de denegación de servicio (DoS) en el sistema vulnerable.

La falla ya fue corregida y recibió un puntaje de severidad media según la escala utilizada por GitHub. El equipo de mantenedores de la biblioteca recomienda a los desarrolladores que actualicen su versión de este paquete, además de publicar la lista de las funciones vulnerables, lo que permitirá una mejor depuración de las entradas potencialmente riesgosas para así evitar por completo la ocurrencia de las fallas descritas en el reporte. Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).