Un fallo de seguridad crítico en la biblioteca estándar Rust podría aprovecharse para atacar a usuarios de Windows y realizar ataques de inyección de comandos.
La vulnerabilidad, rastreada como CVE-2024-24576, tiene una puntuación CVSS de 10,0, lo que indica la máxima gravedad. No obstante, sólo afecta a situaciones en las que se invocan archivos por lotes en Windows con argumentos no fiables.
"La biblioteca estándar de Rust no escapaba correctamente de los argumentos al invocar archivos por lotes (con las extensiones bat y cmd) en Windows utilizando la API de comandos", dijo el grupo de trabajo Rust Security Response en un aviso publicado el 9 de abril de 2024.
"Un atacante capaz de controlar los argumentos pasados al proceso generado podría ejecutar comandos de shell arbitrarios saltándose el escape".
El fallo afecta a todas las versiones de Rust anteriores a la 1.77.2. Se ha atribuido al investigador de seguridad RyotaK el descubrimiento y notificación del fallo al Centro de Coordinación CERT (CERT/CC).
RyotaK dijo que la vulnerabilidad -cuyo nombre en clave es BatBadBut- afecta a varios lenguajes de programación y que surge cuando el "lenguaje de programación envuelve la función CreateProcess [en Windows] y añade el mecanismo de escape para los argumentos del comando".
Pero en vista de que no todos los lenguajes de programación han abordado el problema, se recomienda a los desarrolladores que tengan cuidado al ejecutar comandos en Windows.
"Para evitar la ejecución inesperada de archivos por lotes, debería considerar mover los archivos por lotes a un directorio que no esté incluido en la variable de entorno PATH", dijo RyotaK en un consejo a los usuarios.
"En este caso, los archivos por lotes no se ejecutarán a menos que se especifique la ruta completa, por lo que se puede evitar la ejecución inesperada de archivos por lotes".
Fuente: thehackernews