Clicky

Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Descubren graves fallos en la IA que exponen los marcos de inferencia de Meta, Nvidia y Microsoft

fallos en la IA

Consecuencia de la reutilización de código que incluye patrones inseguros

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 de PyTorch como vLLM y SGLang.

"Todas estas vulnerabilidades se remontan a la misma causa raíz: el uso inseguro y pasado por alto de ZeroMQ (ZMQ) y la deserialización 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 ShadowMQ, en el cual la lógica de deserialización insegura se ha propagado a varios proyectos como resultado de la reutilización de código.

La causa principal es una vulnerabilidad en el framework Llama Large Language Model (LLM) de Meta (CVE-2024-50050, puntuación CVSS: 6.3/9.3), que la empresa corrigió el pasado octubre. Concretamente, la vulnerabilidad afectaba al uso del método `recv_pyobj()` de ZeroMQ para deserializar datos entrantes mediante el módulo `pickle` de Python.

Esto, sumado a que el framework exponía el socket ZeroMQ a través de la red, abrió la puerta a un escenario donde un atacante podía ejecutar código arbitrario enviando datos maliciosos para su deserialización. El problema también se ha abordado en la biblioteca pyzmq de Python.

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 a través de sockets TCP ZMQ no autenticados", dijo Lumelsky. "Distintos responsables del mantenimiento y proyectos mantenidos por distintas empresas cometieron el mismo error".

Al rastrear el origen del problema, Oligo descubrió que, al menos en algunos casos, se debía a una simple copia de código. Por ejemplo, el archivo vulnerable en SGLang indica que fue adaptado por vLLM, mientras que Modular Max Server ha copiado la misma lógica tanto de vLLM como de SGLang, perpetuando así la misma vulnerabilidad en diferentes bases de código.

Dado que los motores de inferencia actúan como un componente crucial dentro de las infraestructuras de IA, una vulneración exitosa de un solo nodo podría permitir a un atacante ejecutar código arbitrario en el clúster, escalar privilegios, robar modelos e incluso instalar cargas útiles maliciosas como mineros de criptomonedas para obtener ganancias financieras.

"Los proyectos avanzan a una velocidad increíble y es común tomar prestados componentes arquitectónicos de otros", dijo Lumelsky. "Pero cuando la reutilización de código incluye patrones inseguros, las consecuencias se propagan rápidamente".

Jesus_Caceres