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, estas vulnerabilidades podrían permitir a un atacante realizar una amplia gama de acciones maliciosas con una única solicitud HTTP, incluidos ataques de denegación de servicio (DoS), envenenamiento de plantillas, robo de plantillas y más». », Avi, investigador de seguridad de Oligo. Lumelski 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 lenguaje extendido (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 utilizando /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 a través del 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 causa agotamiento de recursos y, en última instancia, DoS cuando se llama repetidamente al punto final /api/create 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 donde se implementa Ollama (corregido en la versión 0.1.46).
- Una vulnerabilidad que podría provocar envenenamiento del modelo a través del punto final /api/pull desde una fuente que no es de confianza (sin ID de 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 ID de CVE, sin parches)
Para las dos vulnerabilidades no resueltas, los funcionarios de Ollama recomendaron que los usuarios filtren qué puntos finales están expuestos a Internet mediante un proxy o un firewall de aplicaciones web.
«Esto significa que, por defecto, no todos los puntos finales deberían estar expuestos», dijo Lumelsky. «Esta es una suposición peligrosa. No todos son conscientes de esto y filtran 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 de Internet ejecutando Ollama, la mayoría de las cuales están ubicadas en China, EE. UU., Alemania, Corea del Sur, Taiwán, Francia, Reino Unido, India, Singapur y Hong Kong. Se ha descubierto que uno de cada cuatro servidores de Internet es vulnerable a los fallos identificados.
Este 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) que podría haber sido explotada para lograr la ejecución remota de código.
«Exponer a Ollama a Internet sin permiso equivale a exponer el socket Docker a la Internet pública, ya que puede descargar archivos y tiene capacidades de extracción y inserción de modelos (que pueden ser explotadas por atacantes)», señaló Lumelsky.