CVE-2024-50050: Vulnerabilidad crítica en meta-llama/llama-stack de Meta



Recientemente, el equipo de Oligo Research ha estado analizando cuidadosamente los marcos de inteligencia artificial (IA) de código abierto para garantizar la seguridad de estas herramientas que las empresas están aprovechando cada vez más. A través de su análisis, han notado un hilo común entre varios de estos marcos: aprovechan una biblioteca de código abierto (pyzmq) de una manera insegura, lo que permite la ejecución de código arbitrario para los atacantes.

CVE-2024-50050, una vulnerabilidad crítica en el marco de código abierto de GenAI, meta-llama, que podría permitir la ejecución de código arbitrario en los servidores, lo que llevaría a cosas como robo de recursos, violaciones de datos e incluso control sobre los modelos de IA alojados.

Snyk proporcionó a esta vulnerabilidad una puntuación CVSS de 9,3 (crítico) en la versión 4.0 de CVSS y de 9,8 (crítico) en la versión 3.1 de CVSS. Si bien la vulnerabilidad aún está pendiente de análisis a través de NVD, recibió una puntuación CVSS de 6.3 (media) de Meta, que la emitió después del informe.

La vulnerabilidad fue parcheada rápidamente por los equipos de seguridad de Meta, y es fundamental que todos los usuarios actualicen a la versión 0.0.41 o superior.


Que es Llama Stack?

Llama Stack es un marco de código abierto desarrollado por Meta para agilizar el desarrollo y la implementación de aplicaciones GenAI, en particular las que utilizan los modelos Llama de Meta. Su objetivo es acelerar la innovación en el espacio de la IA proporcionando un conjunto coherente de bloques de construcción que abarcan todo el ciclo de vida del desarrollo, desde el entrenamiento del modelo hasta la implementación de la producción.

Se identifico una vulnerabilidad de ejecución de código que afecta a los hosts que ejecutan llama-stack. La vulnerabilidad afecta a la implementación predeterminada de la API de inferencia de python de metareferencia en el método:run_inference

Este método aprovecha para recibir objetos de Python serializados, que se deserializan automáticamente mediante el módulo pickle de Python. Sin embargo, pickle es inherentemente inseguro cuando se usa con datos que no son de confianza, ya que puede ejecutar código arbitrario durante el proceso de deserialización. En escenarios en los que el socket de ZeroMQ está expuesto a través de la red, los atacantes podrían aprovechar esta vulnerabilidad enviando objetos maliciosos creados al socket. Dado que desenmascarará estos objetos, un atacante podría lograr la ejecución de código arbitrario (RCE) en la máquina host. recv_pyobjrecv_pyobj



El uso inseguro de Pickle ha llevado a numerosos CVE de ejecución remota de código en los últimos años:

- https://www.cve.org/CVERecord?id=CVE-2022-34668

- https://www.vicarius.io/vsociety/posts/rce-in-python-nltk-cve-2024-39705-39706

- https://www.oligo.security/blog/tensorflow-keras-downgrade-attack-cve-2024-3660-bypass


Fuente: CVE-2024-50050: Vulnerabilidad crítica en meta-llama/llama-stack | Seguridad de Oligo

Si te gusta este contenido, no olvides seguirnos en nuestras redes sociales!: