Falhas no Framework Ollama
5 de Novembro de 2024

Pesquisadores de cibersegurança divulgaram seis falhas de segurança no framework de inteligência artificial (AI) Ollama, que podem ser exploradas por um ator malicioso para executar várias ações, incluindo negação de serviço (denial-of-service - DoS), envenenamento de modelo (model poisoning) e roubo de modelo (model theft).

"Coletivamente, as vulnerabilidades podem permitir que um invasor execute uma ampla gama de ações maliciosas com uma única requisição HTTP, incluindo ataques de negação de serviço (DoS), envenenamento de modelo, roubo de modelo e mais", disse o pesquisador da Oligo Security, Avi Lumelsky, em um relatório publicado na semana passada.

Ollama é uma aplicação de código aberto que permite aos usuários implantar e operar grandes modelos de linguagem (LLMs) localmente em dispositivos Windows, Linux e macOS.

Seu repositório de projeto no GitHub foi bifurcado (forked) 7.600 vezes até o momento.

Uma breve descrição das seis vulnerabilidades está abaixo:

- CVE-2024-39719 (pontuação CVSS: 7.5) - Uma vulnerabilidade que um invasor pode explorar usando o endpoint /api/create para determinar a existência de um arquivo no servidor (Corrigida na versão 0.1.47)
- CVE-2024-39720 (pontuação CVSS: 8.2) - Uma vulnerabilidade de leitura fora dos limites que pode fazer com que a aplicação trave por meio do endpoint /api/create, resultando em uma condição de DoS (Corrigida na versão 0.1.46)
- CVE-2024-39721 (pontuação CVSS: 7.5) - Uma vulnerabilidade que causa exaustão de recursos e, finalmente, um DoS ao invocar repetidamente o endpoint /api/create ao passar o arquivo "/dev/random" como entrada (Corrigida na versão 0.1.34)
- CVE-2024-39722 (pontuação CVSS: 7.5) - Uma vulnerabilidade de travessia de caminho (path traversal) no endpoint api/push que expõe os arquivos existentes no servidor e toda a estrutura de diretório na qual o Ollama está implantado (Corrigida na versão 0.1.46)

Uma vulnerabilidade que pode levar ao envenenamento de modelo via endpoint /api/pull de uma fonte não confiável (Sem identificador CVE, Não corrigida)

Uma vulnerabilidade que pode levar ao roubo de modelo via endpoint /api/push para um destino não confiável (Sem identificador CVE, Não corrigida)

Para ambas as vulnerabilidades não resolvidas, os mantenedores do Ollama recomendaram que os usuários filtrem quais endpoints são expostos à internet por meio de um proxy ou um firewall de aplicação web.

"Isso significa que, por padrão, nem todos os endpoints devem ser expostos", disse Lumelsky.

Essa é uma suposição perigosa. Nem todo mundo está ciente disso, ou filtra o roteamento HTTP para o Ollama. Atualmente, esses endpoints estão disponíveis através da porta padrão do Ollama como parte de cada implantação, sem qualquer separação ou documentação que respalde.

A Oligo disse que encontrou 9.831 instâncias únicas voltadas para a internet que executam o Ollama, com a maioria delas localizadas na China, nos EUA, Alemanha, Coreia do Sul, Taiwan, França, Reino Unido, Índia, Singapura e Hong Kong.

Um em cada quatro servidores voltados para a internet foi considerado vulnerável às falhas identificadas.

O desenvolvimento acontece mais de quatro meses após a empresa de segurança em nuvem Wiz divulgar uma falha grave impactando o Ollama ( CVE-2024-37032 ) que poderia ter sido explorada para alcançar execução remota de código.

"Expor o Ollama na internet sem autorização é equivalente a expor o socket do Docker ao público na internet, porque ele pode fazer upload de arquivos e possui capacidades de puxar e empurrar modelos (que podem ser abusadas por atacantes)", observou Lumelsky.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...