La vulnerabilidad de lectura fuera de límites de Ollama permite la fuga de memoria de procesos remotos
Una grave vulnerabilidad en el framework de código abierto Ollama ha puesto en riesgo la seguridad de miles de servidores a nivel mundial, permitiendo a atacantes remotos acceder a la memoria completa del proceso y, potencialmente, filtrar información sensible. La falla, denominada “Bleeding Llama” por Cyera, ha recibido la clasificación de crítica (CVSS score: 9.1) y afecta a versiones anteriores a la 0.17.1 del software. El riesgo reside en la posibilidad de que un usuario malintencionado, mediante la manipulación de un archivo GGUF, pueda provocar una lectura fuera de los límites de la memoria asignada, exponiendo datos confidenciales almacenados por el sistema.
El problema se ha detectado en el contexto del creciente uso de modelos de lenguaje grandes (LLMs) que, tradicionalmente, se ejecutaban en la nube. Ollama, en particular, ha ganado popularidad como una alternativa de código abierto que permite a los usuarios ejecutar estos modelos localmente, ofreciendo mayor control y privacidad. La amplia adopción de la herramienta, con más de 171.000 estrellas en GitHub y más de 16.100 forked, ha amplificado el potencial impacto de esta vulnerabilidad. La facilidad de uso y la naturaleza de código abierto han contribuido a una rápida proliferación de servidores que ejecutan Ollama, aumentando significativamente la superficie de ataque.
Análisis técnico
La vulnerabilidad se centra en el manejo del formato de archivo GGUF, utilizado para almacenar los modelos de lenguaje. GGUF, que significa GPT-Generated Unified Format, facilita la carga y ejecución de estos modelos en dispositivos locales. El fallo reside en la utilización del paquete “unsafe” de Go, el lenguaje de programación en el que está escrito Ollama, durante la creación del modelo a partir de un archivo GGUF. Específicamente, la función “WriteTo()” dentro de los módulos “fs/ggml/gguf.go” y “server/quantization.go” es la que permite la lectura de datos fuera de los límites de la memoria asignada. Esta práctica, que permite la ejecución de operaciones que el lenguaje de programación no puede controlar, abre la puerta a un ataque que aprovecha la falta de seguridad de memoria. En esencia, un atacante puede enviar un archivo GGUF cuidadosamente diseñado, con dimensiones de tensor exageradas, a un servidor Ollama expuesto a la red, desencadenando la lectura fuera de los límites y permitiendo la extracción de información sensible de la memoria del proceso.
El proceso de explotación se desarrolla en tres fases. Primero, se sube un archivo GGUF modificado, con un tamaño de tensor inflado, a un servidor Ollama accesible a través de la red, utilizando una solicitud HTTP POST. Segundo, se activa la creación del modelo a través del endpoint "/api/create", provocando la ejecución de la función "WriteTo()" y, por tanto, la vulnerabilidad de lectura fuera de los límites. Finalmente, se extrae la información contenida en la memoria del heap, a través del endpoint "/api/push", y se envía a un servidor controlado por el atacante. La capacidad de obtener información sobre la organización que utiliza Ollama, incluyendo claves de API, código propietario, contratos con clientes y datos de conversaciones entre usuarios, representa un riesgo considerable. La conexión de Ollama con herramientas como Claude Code, que amplía aún más la superficie de ataque, aumenta la gravedad de la vulnerabilidad, ya que todos los resultados de estas herramientas se almacenan en la memoria del servidor y podrían ser accedidos por un atacante.
Contexto y antecedentes
Esta vulnerabilidad se enmarca dentro de una tendencia creciente en el sector tecnológico: el uso de modelos de lenguaje grandes, cada vez más complejos y potentes, que requieren una gran cantidad de recursos informáticos. La descentralización de estos modelos, permitiendo su ejecución local, ha aumentado la necesidad de herramientas como Ollama, pero también ha ampliado la superficie de ataque para los atacantes. La ciberseguridad en el ámbito de la inteligencia artificial es un área de preocupación creciente, con un número cada vez mayor de vulnerabilidades descubiertas en frameworks y herramientas de código abierto utilizados para el desarrollo y despliegue de estos modelos. El reciente ataque a un modelo de lenguaje grande que resultó en la filtración de información confidencial de clientes ha puesto de manifiesto la importancia de abordar estas vulnerabilidades de manera proactiva.
Además, se debe considerar el caso de dos vulnerabilidades detectadas en el sistema de actualización de Ollama por Striga, que no fueron parcheadas y que, tras un periodo de 90 días, fueron publicadas. Estas vulnerabilidades, que permitían la ejecución de código de forma persistente, demuestran la importancia de la gestión de vulnerabilidades y la necesidad de aplicar parches de seguridad de forma rápida y eficiente. El incidente también pone de relieve la necesidad de una mayor colaboración entre los desarrolladores de software y la comunidad de seguridad para identificar y mitigar las vulnerabilidades de forma temprana.
Impacto y afectados
El impacto de esta vulnerabilidad se extiende a cualquier usuario que utilice Ollama, incluyendo desarrolladores, investigadores y empresas que emplean estos modelos de lenguaje. Las empresas que utilizan Ollama para tareas como el análisis de datos, la generación de contenido o la atención al cliente se encuentran especialmente en riesgo, ya que la filtración de información sensible podría tener graves consecuencias económicas y reputacionales. Los usuarios individuales que utilizan Ollama para tareas como la creación de contenido o la experimentación con modelos de lenguaje también podrían verse afectados, ya que sus datos personales y conversaciones podrían ser accedidos por un atacante. La vulnerabilidad no está limitada a la versión 0.17.1 de Ollama; cualquier versión anterior a esta es susceptible de ser explotada.
La escala del problema es considerable, dado que se estima que más de 300.000 servidores a nivel global ejecutan versiones vulnerables de Ollama. La facilidad con la que se puede explotar la vulnerabilidad, gracias a la naturaleza de código abierto de Ollama, amplía aún más el alcance del riesgo. El impacto potencial se extiende más allá de la simple filtración de datos, pudiendo incluir el acceso no autorizado a sistemas y redes, la manipulación de datos y la interrupción de servicios. La posibilidad de que un atacante aprenda “casi cualquier cosa” sobre una organización a partir de la inferencia de IA, incluyendo claves de API, código propietario, contratos con clientes y mucho más, añade una capa adicional de riesgo.
Medidas de mitigación y recomendaciones
Ante esta situación, los usuarios de Ollama deben aplicar las últimas actualizaciones del software para corregir la vulnerabilidad. Es fundamental limitar el acceso a la red de los servidores que ejecutan Ollama, restringiendo el acceso solo a las direcciones IP necesarias. Se recomienda realizar auditorías exhaustivas de los servidores en busca de internet expuesto, que pueda ser utilizado por un atacante. Además, es esencial aislar y securizar los servidores que ejecutan Ollama detrás de un firewall, para evitar el acceso no autorizado. La implementación de un proxy de autenticación o un gateway de API en frente de todos los servidores Ollama, ya que la API REST no proporciona autenticación por defecto, es una medida de seguridad adicional que puede ayudar a prevenir ataques.
Conclusión
La vulnerabilidad en Ollama representa un riesgo significativo para la seguridad de los modelos de lenguaje grandes y, por extensión, para la seguridad de las organizaciones que los utilizan. La exposición de información sensible, como claves de API y datos de conversaciones, puede tener consecuencias devastadoras, tanto económicas como reputacionales. La rápida respuesta de la comunidad de seguridad, que ha publicado el CVE-2026-7482 y ha proporcionado recomendaciones para mitigar el riesgo, es un ejemplo de cómo abordar eficazmente las vulnerabilidades en el ámbito de la ciberseguridad. Es crucial que los desarrolladores y usuarios de Ollama sean conscientes de esta vulnerabilidad y tomen medidas inmediatas para proteger sus sistemas. A medio y largo plazo, esta vulnerabilidad subraya la necesidad de una mayor atención a la seguridad en el desarrollo de modelos de lenguaje grandes, así como la importancia de la colaboración entre los desarrolladores, la comunidad de seguridad y los usuarios para garantizar la seguridad de estos sistemas complejos.
Fuente original: The Hacker News
0 Comentarios