Los investigadores de ciberseguridad han revelado seis fallas de seguridad en el marco de inteligencia artificial (IA) de Ollama que podrían ser explotadas por un actor malicioso para realizar diversas acciones, incluida la denegación de servicio, el envenenamiento de modelos y el robo de modelos.
“En conjunto, las vulnerabilidades podrían permitir a un atacante llevar a cabo una amplia gama de acciones maliciosas con una sola solicitud HTTP, incluidos ataques de denegación de servicio (DoS), envenenamiento de modelos, robo de modelos y más”, dijo Avi, investigador de Oligo Security. lumelsky dicho en un informe publicado la semana pasada.
Ollama es una aplicación de código abierto que permite a los usuarios implementar y operar modelos de lenguajes grandes (LLM) localmente en dispositivos Windows, Linux y macOS. Es repositorio de proyectos en GitHub se ha bifurcado 7.600 veces hasta la fecha.
A continuación se muestra una breve descripción de las seis vulnerabilidades:
- CVE-2024-39719 (Puntuación CVSS: 7,5): una vulnerabilidad que un atacante puede aprovechar usando /api/create un punto final para determinar la existencia de un archivo en el servidor (corregido en la versión 0.1.47).
- CVE-2024-39720 (Puntuación CVSS: 8.2): una vulnerabilidad de lectura fuera de límites que podría causar que la aplicación se bloquee mediante el punto final /api/create, lo que resulta en una condición DoS (corregido en la versión 0.1.46).
- CVE-2024-39721 (Puntuación CVSS: 7,5): una vulnerabilidad que provoca el agotamiento de los recursos y, en última instancia, un DoS al invocar el punto final /api/create repetidamente al pasar el archivo “/dev/random” como entrada (corregido en la versión 0.1.34).
- CVE-2024-39722 (Puntuación CVSS: 7.5) – Una vulnerabilidad de recorrido de ruta en el punto final api/push que expone los archivos existentes en el servidor y toda la estructura de directorios en la que se implementa Ollama (corregido en la versión 0.1.46)
- Una vulnerabilidad que podría provocar un envenenamiento del modelo a través del punto final /api/pull desde una fuente que no es de confianza (sin identificador CVE, sin parches)
- Una vulnerabilidad que podría provocar el robo de modelos a través del punto final /api/push hacia un objetivo que no es de confianza (sin identificador CVE, sin parches)
Para ambas vulnerabilidades no resueltas, los mantenedores de Ollama han recomendado que los usuarios filtren qué puntos finales están expuestos a Internet mediante un proxy o un firewall de aplicaciones web.
“Lo que significa que, por defecto, no todos los puntos finales deberían estar expuestos”, dijo Lumelsky. “Esa es una suposición peligrosa. No todo el mundo es consciente de ello, ni filtra el enrutamiento http a Ollama. Actualmente, estos puntos finales están disponibles a través del puerto predeterminado de Ollama como parte de cada implementación, sin ninguna separación o documentación que los respalde”.
Oligo dijo que encontró 9.831 instancias únicas conectadas a Internet que ejecutan Ollama, la mayoría de ellas ubicadas en China, Estados Unidos, Alemania, Corea del Sur, Taiwán, Francia, Reino Unido, India, Singapur y Hong Kong. Uno de cada cuatro servidores conectados a Internet se ha considerado vulnerable a las fallas identificadas.
El desarrollo se produce más de cuatro meses después de que la empresa de seguridad en la nube Wiz revelara una falla grave que afectaba a Ollama (CVE-2024-37032) y que podría haber sido explotada para lograr la ejecución remota de código.
“Exponer a Ollama a Internet sin autorización es equivalente a exponer el conector Docker a la Internet pública, porque puede cargar archivos y tiene capacidades de extracción y inserción de modelos (de las que los atacantes pueden abusar)”, señaló Lumelsky.