Skip to content
Rust-headpic-red
Javiera González3 min read

Vulnerabilidad crítica en la biblioteca estándar de Rust

Se ha descubierto una grave vulnerabilidad de inyección de comandos en la biblioteca estándar de Rust que afecta a los sistemas Windows. Esta vulnerabilidad surge de un manejo deficiente del escape de argumentos al invocar archivos por lotes (.bat y .cmd) utilizando la API de comandos de Rust. Un atacante que pueda controlar los argumentos pasados a un archivo por lotes podría introducir comandos maliciosos que se ejecutarían sin el conocimiento del usuario.

Detalles técnicos 

La biblioteca estándar de Rust normalmente realiza un escape automático de los argumentos para evitar la inyección de comandos. Sin embargo, esta funcionalidad tiene limitaciones al trabajar con archivos por lotes en Windows debido a las complejidades del intérprete de comandos cmd.exe. Un atacante podría aprovechar estas limitaciones para introducir comandos inesperados que se ejecutarían con los privilegios del proceso que invoca el archivo por lotes.

Impacto

Esta vulnerabilidad es crítica y permite a los atacantes ejecutar código arbitrario en sistemas Windows vulnerables. Un atacante exitoso podría instalar malware, robar datos confidenciales, secuestrar el sistema o realizar otras actividades maliciosas.

Lenguajes de programación afectados

Si bien la vulnerabilidad se identificó inicialmente en Rust, también afecta potencialmente a otros lenguajes de programación que interactúan con el sistema operativo Windows de manera similar. Algunos lenguajes afectados pueden incluir Erlang, Go, Haskell, Node.js, PHP, y Python. Se recomienda consultar fuentes oficiales para conocer el estado de los parches en cada lenguaje.

Recomendaciones

La solución definitiva es actualizar a la versión 1.77.2 o superior de Rust lo antes posible, para el caso de este lenguaje. Esta versión incluye correcciones para mitigar la vulnerabilidad de inyección de comandos. Los usuarios de otros lenguajes de programación potencialmente afectados deben consultar las fuentes oficiales para obtener información sobre parches y medidas de mitigación específicas. 

Si la actualización inmediata no es posible, se pueden aplicar medidas temporales para mitigar el riesgo:

  • Revisión de código: Identificar y revisar cualquier sección del código que invoque archivos por lotes con argumentos que no son de confianza. Implementar un escape de argumentos seguro de forma manual.
  • Método CommandExt::raw_arg: En escenarios específicos, se puede utilizar el método CommandExt::raw_arg para eludir la lógica de escape predeterminada de la biblioteca estándar. Sin embargo, esta opción debe emplearse con precaución, ya que elimina las protecciones de escape automáticas.
  • Control de directorios: Mover los archivos por lotes a un directorio que no esté incluido en la variable de entorno PATH de Windows. Esto evita la ejecución accidental de archivos por lotes a menos que se especifique la ruta completa del archivo.

Dentro de las soluciones efectivas para este tipo de vulnerabilidad se encuentra el Ethical Hacking, servicio que permite identificar tanto las vulnerabilidades como las rutas de ataque a partir de ellas. 

Es fundamental encontrar un equilibrio adecuado para prevenir ataques cibernéticos como este. En Widefense acompañamos a nuestros clientes a abordar este desafío con un enfoque integral de ciberdefensa. 

¿Qué pueden hacer nuestros Servicios Administrados por tu empresa?

Para nuestros clientes con Servicios Administrados, Widefense realiza las siguientes acciones frente a ataques:

  • Protección proactiva: Nuestro equipo de Detección y Respuesta identifica y bloquea cualquier actividad maliciosa antes de que pueda causar daños.
  • Respuesta rápida: Nuestros Servicios Administrados generan una respuesta rápida y efectiva frente a ataques. Nuestros procesos de respuesta funcionan de forma inmediata para identificar y minimizar el impacto de la amenaza.
  • Actualizaciones de seguridad: La gestión regular de actualizaciones hace frente a las amenazas emergentes. Estas actualizaciones pueden incluir parches de seguridad para sistemas operativos y aplicaciones, con el objetivo de disminuir las vulnerabilidades de los sistemas y disminuir los alcances y probabilidad de que ocurran estos ataques.

¡Conoce nuestras soluciones aquí y cuida la ciberseguridad de tu organización!

Fuentes

https://www.bleepingcomputer.com/news/security/critical-rust-flaw-enables-windows-command-injection-attacks/

https://www.hfrance.fr/es/la-falla-critica-de-rust-permite-ataques-de-inyeccion-de-comandos-de-windows.html

https://blog.hackmetrix.com/command-injection/ 

 

ARTÍCULOS RELACIONADOS