Plataforma
python
Componente
roslaunch
Se ha identificado una vulnerabilidad de inyección de código en la herramienta de línea de comandos 'roslaunch' del Robot Operating System (ROS). Esta falla se origina en el uso de la función eval() para procesar valores de parámetros proporcionados por el usuario, sin la debida sanitización, dentro del mecanismo de sustitución de argumentos (substitution args) de roslaunch. Esto permite a atacantes ejecutar código Python arbitrario. La vulnerabilidad afecta a las distribuciones ROS Noetic Ninjemys y versiones anteriores.
Un atacante puede explotar esta vulnerabilidad para ejecutar código Python arbitrario en el sistema donde se ejecuta roslaunch. Esto podría resultar en la toma de control completa del sistema, robo de datos confidenciales, o la modificación del comportamiento de los nodos ROS. La ejecución de código arbitrario permite al atacante escalar privilegios y potencialmente comprometer otros componentes del sistema ROS. La naturaleza de la inyección de código a través de eval() implica un alto grado de flexibilidad para el atacante en cuanto a la carga maliciosa que puede ejecutar.
Esta vulnerabilidad se publicó el 17 de julio de 2025. Actualmente no se dispone de información sobre explotación activa en el mundo real. La vulnerabilidad se ha añadido al Catálogo de Vulnerabilidades Conocidas (KEV) de CISA, lo que indica una probabilidad de explotación moderada a alta. Se recomienda monitorear las fuentes de inteligencia de amenazas para detectar cualquier actividad maliciosa relacionada con esta vulnerabilidad.
Robotics researchers and developers using ROS Noetic Ninjemys or earlier are at immediate risk. Industrial automation facilities relying on ROS-based systems are also vulnerable. Specifically, deployments that expose ROS launch parameters through web interfaces or other external sources are at heightened risk.
• python / roslaunch:
import os
import subprocess
def check_roslaunch_params(launch_file):
try:
process = subprocess.run(['roslaunch', '--help'], capture_output=True, text=True, check=True)
print(process.stdout)
except subprocess.CalledProcessError as e:
print(f"Error executing roslaunch: {e}")• linux / server:
journalctl -u roslaunch -g "eval" | grep -i "error"• generic web:
Inspect ROS launch files for instances of eval() and user-supplied parameters. Look for suspicious parameter names or values that could be exploited.
disclosure
Estado del Exploit
EPSS
0.03% (7% percentil)
CISA SSVC
Vector CVSS
Como solución inmediata, se recomienda evitar el uso de substitution args en roslaunch siempre que sea posible. Si es necesario, implemente una validación y sanitización rigurosa de todos los parámetros proporcionados por el usuario antes de pasarlos a eval(). Considere el uso de alternativas más seguras a eval(), como el uso de plantillas o motores de interpolación seguros. La actualización a una versión corregida de ROS es la solución definitiva. Después de la actualización, verifique que la funcionalidad de roslaunch siga funcionando como se espera y que no haya regresiones.
Actualice ROS a una versión posterior a Noetic Ninjemys o aplique los parches de seguridad proporcionados por Open Source Robotics Foundation. Evite utilizar parámetros no sanitizados en los archivos de lanzamiento de ROS. Revise y valide cuidadosamente cualquier archivo de lanzamiento de ROS de fuentes no confiables.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
CVE-2024-39835 is a code injection vulnerability in ROS Noetic Ninjemys and earlier, allowing arbitrary Python code execution through unsanitized parameters in roslaunch.
If you are using ROS Noetic Ninjemys or an earlier version, you are potentially affected. Assess your ROS launch file configurations and parameter handling practices.
Upgrade to a patched ROS distribution when available. Until then, implement strict input validation on all parameters passed to roslaunch and consider disabling the substitution args mechanism.
No active exploitation campaigns have been confirmed, but the vulnerability's nature and the ease of exploitation suggest a potential risk.
Refer to the ROS security mailing list and the ROS wiki for updates and official advisories regarding CVE-2024-39835.
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.
Sube tu archivo requirements.txt y te decimos al instante si estás afectado.