Descripción general
LMDeploy es un conjunto de herramientas diseñado para comprimir, desplegar y servir grandes modelos de lenguaje (LLM). Las versiones 0.12.1 y 0.12.2 contienen una vulnerabilidad crítica de inyección de código ubicada en el archivo lmdeploy/pytorch/config.py, línea 620, que permite a un atacante ejecutar código Python arbitrario en el sistema de la víctima.
Mecanismo de la vulnerabilidad
El vector de ataque se activa cuando un usuario carga un modelo de HuggingFace que ha sido manipulado maliciosamente. El modelo contiene un valor crafteado en el campo quantization_config.quant_dtype de su configuración. Al procesar dicho campo, LMDeploy lo pasa directamente a una llamada eval() sin ningún tipo de validación ni sanitización:
eval(f'torch.{quant_dtype}')
Esta construcción insegura permite que cualquier cadena de texto arbitraria sea interpretada y ejecutada como código Python en el contexto del proceso que carga el modelo. Un atacante que publique un modelo con un valor malicioso en quant_dtype puede lograr que cualquier usuario que lo descargue y cargue mediante LMDeploy ejecute código bajo su control.
Impacto
La explotación exitosa de esta vulnerabilidad otorga al atacante la capacidad de ejecutar código Python arbitrario en el entorno del usuario afectado. Dependiendo de los privilegios del proceso y del entorno de ejecución, esto puede derivar en:
- Compromiso total del sistema donde se ejecuta LMDeploy.
- Exfiltración de datos, credenciales o claves de API presentes en el entorno.
- Instalación de malware o puertas traseras.
- Movimiento lateral dentro de infraestructuras de MLOps o entornos de entrenamiento e inferencia.
Población afectada
Se ven afectados todos los usuarios y organizaciones que utilicen LMDeploy en las versiones 0.12.1 o 0.12.2 para cargar modelos provenientes de HuggingFace Hub u otras fuentes externas no verificadas. El riesgo es especialmente relevante en entornos de producción donde se consumen modelos de terceros de forma automatizada o sin revisión previa del contenido de configuración.
Recomendaciones
Se recomienda actualizar a LMDeploy versión 0.12.3, que incluye el parche oficial para esta vulnerabilidad. Mientras no sea posible actualizar, se aconseja evitar cargar modelos de fuentes no confiables y revisar manualmente el campo quantization_config.quant_dtype en los archivos de configuración de cualquier modelo antes de cargarlo con LMDeploy.
