Los investigadores de ciberseguridad han descubierto vulnerabilidades críticas de ejecución remota de código que afectan a los principales motores de inferencia de inteligencia artificial (IA), incluidos los de Meta, Nvidia, Microsoft y proyectos de código abierto PyTorch como vLLM y SGLang.
«Todas estas vulnerabilidades se remontan a la misma causa raíz: el uso inseguro de ZeroMQ (ZMQ) y la deserialización de pickle de Python», dijo el investigador de Oligo Security, Avi Lumelsky, en un informe publicado el jueves.
En esencia, el problema surge de lo que se ha descrito como un patrón llamado SombraMQen el que la lógica de deserialización insegura se ha propagado a varios proyectos como resultado de la reutilización del código.
La causa principal es una vulnerabilidad en el marco del modelo de lenguaje grande (LLM) Llama de Meta (CVE-2024-50050, puntuación CVSS: 6.3/9.3) que fue parcheado por la compañía en octubre pasado. Específicamente, implicó el uso del método recv_pyobj() de ZeroMQ para deserializar datos entrantes usando el módulo pickle de Python.
Esto, junto con el hecho de que el marco expuso el socket ZeroMQ a través de la red, abrió la puerta a un escenario en el que un atacante puede ejecutar código arbitrario enviando datos maliciosos para su deserialización. El problema también se solucionó en la biblioteca Python pyzmq.
Desde entonces, Oligo ha descubierto que el mismo patrón se repite en otros marcos de inferencia, como NVIDIA TensorRT-LLM, Microsoft Sarathi-Serve, Modular Max Server, vLLM y SGLang.
«Todos contenían patrones inseguros casi idénticos: deserialización de pickle sobre sockets TCP ZMQ no autenticados», dijo Lumelsky. «Diferentes mantenedores y proyectos mantenidos por diferentes empresas, todos cometieron el mismo error».
Al rastrear los orígenes del problema, Oligo descubrió que, al menos en algunos casos, era el resultado de copiar y pegar directamente el código. Por ejemplo, el archivo vulnerable en SGLang dice que está adaptado por vLLM, mientras que Modular Max Server ha tomado prestada la misma lógica tanto de vLLM como de SGLang, perpetuando efectivamente la misma falla en todas las bases de código.
A los problemas se les han asignado los siguientes identificadores:
- CVE-2025-30165 (Puntuación CVSS: 8,0) – vLLM (si bien el problema no está solucionado, se solucionó cambiando al motor V1 de forma predeterminada)
- CVE-2025-23254 (Puntuación CVSS: 8.8) – NVIDIA TensorRT-LLM (corregido en la versión 0.18.2)
- CVE-2025-60455 (Puntuación CVSS: N/A) – Servidor Modular Max (fijo)
- Sarathi-Serve (Permanece sin parchear)
- SGLang (correcciones incompletas implementadas)
Dado que los motores de inferencia actúan como un componente crucial dentro de las infraestructuras de IA, un compromiso exitoso de un solo nodo podría permitir a un atacante ejecutar código arbitrario en el clúster, escalar privilegios, realizar robo de modelos e incluso eliminar cargas útiles maliciosas, como mineros de criptomonedas, para obtener ganancias financieras.
«Los proyectos avanzan a una velocidad increíble y es común pedir prestados componentes arquitectónicos a sus pares», dijo Lumelsky. «Pero cuando la reutilización de código incluye patrones inseguros, las consecuencias se extienden rápidamente».
La divulgación se produce cuando un nuevo informe de la plataforma de seguridad de inteligencia artificial Knostic descubrió que es posible comprometer el nuevo navegador integrado de Cursor mediante técnicas de inyección de JavaScript, sin mencionar el uso de una extensión maliciosa para facilitar la inyección de JavaScript con el fin de tomar el control de la estación de trabajo del desarrollador.
El primer ataque implica registrar un servidor de protocolo de contexto modelo (MCP) local fraudulento que elude los controles de Cursor para permitir que un atacante reemplace las páginas de inicio de sesión dentro del navegador con una página falsa que recopila credenciales y las filtra a un servidor remoto bajo su control.
«Una vez que un usuario descargaba el servidor MCP y lo ejecutaba, usando un archivo mcp.json dentro de Cursor, inyectaba código en el navegador de Cursor que conducía al usuario a una página de inicio de sesión falsa, que robaba sus credenciales y las enviaba a un servidor remoto», dijo el investigador de seguridad Dor Munis.
Dado que el editor de código fuente impulsado por IA es esencialmente una bifurcación de Visual Studio Code, un mal actor también podría crear una extensión maliciosa para inyectar JavaScript en el IDE en ejecución para ejecutar acciones arbitrarias, incluido marcar extensiones Open VSX inofensivas como «maliciosas».
«JavaScript que se ejecuta dentro del intérprete Node.js, ya sea introducido por una extensión, un servidor MCP o un mensaje o regla envenenada, hereda inmediatamente los privilegios del IDE: acceso completo al sistema de archivos, la capacidad de modificar o reemplazar funciones IDE (incluidas las extensiones instaladas) y la capacidad de persistir el código que se vuelve a adjuntar después de un reinicio», dijo la compañía.
«Una vez que la ejecución a nivel de intérprete está disponible, un atacante puede convertir el IDE en una plataforma de exfiltración y distribución de malware».
Para contrarrestar estos riesgos, es esencial que los usuarios deshabiliten las funciones de ejecución automática en sus IDE, revisen las extensiones, instalen servidores MCP de desarrolladores y repositorios confiables, verifiquen a qué datos y API acceden los servidores, usen claves API con los permisos mínimos requeridos y auditen el código fuente del servidor MCP para integraciones críticas.