Pesquisadores de segurança cibernética revelaram seis falhas de segurança na estrutura de Inteligência Artificial (IA) de Ollama que poderiam ser exploradas por um ator mal-intencionado para realizar várias ações, incluindo negação de serviço, envenenamento de modelo e roubo de modelo.
“No geral, a vulnerabilidade pode permitir que um invasor execute várias ações maliciosas com uma única solicitação HTTP, incluindo ataques de negação de serviço (DoS), envenenamento de modelo, roubo de modelo e muito mais”, disse Avi, pesquisador da Oligo Security. Lumelsky disse em um relatório publicado na semana passada.
Ollama é um aplicativo de código aberto que permite aos usuários implantar e executar modelos de linguagem em larga escala (LLMs) localmente em dispositivos Windows, Linux e macOS. Seu repositório de projetos no GitHub foi bifurcado 7.600 vezes até agora.
Uma breve descrição dos seis pontos fracos está abaixo –
- CVE-2024-39719 (pontuação CVSS: 7,5) – Vulnerabilidade que um invasor poderia explorar usando o endpoint /api/create para determinar a existência de um arquivo no servidor (corrigido na versão 0.1.47)
- CVE-2024-39720 (Pontuação CVSS: 8.2) – Uma vulnerabilidade de leitura fora dos limites que poderia fazer com que o aplicativo travasse usando o endpoint /api/create, resultando em uma situação de DoS (corrigido na versão 0.1.46)
- CVE-2024-39721 (Pontuação CVSS: 7.5) – Vulnerabilidade que causa interrupção do serviço e eventualmente DoS ao chamar o endpoint /api/create repetidamente ao passar o arquivo “/dev/random” como entrada (Corrigido na versão 0.1.34)
- CVE-2024-39722 (pontuação CVSS: 7,5) – Uma vulnerabilidade de cruzamento de caminhos no endpoint api/push que expõe arquivos presentes no servidor e toda a estrutura de diretórios onde o Ollama é usado (corrigido na versão 0.1.46)
- Vulnerabilidade que pode levar ao envenenamento do modelo por meio do endpoint /api/pull de uma fonte não confiável (sem identificador CVE, sem patch)
- Vulnerabilidade que pode levar ao roubo de modelo via endpoint /api/push para um alvo não confiável (sem identificador CVE, sem patch)
Para ambas as vulnerabilidades não resolvidas, os mantenedores do Ollama recomendaram que os usuários filtrassem quais endpoints estão expostos à Internet usando um proxy ou firewall de aplicativo da web.
“O que significa que, por padrão, nem todos os pontos deveriam ser divulgados”, disse Lumelsky. “Essa é uma suposição perigosa. Nem todo mundo sabe disso, ou filtra a rota http para Ollama. Atualmente, esses endpoints estão disponíveis através da porta padrão do Ollama como parte de cada implantação, sem separação ou documentação para apoiar isso.”
Oligo disse ter encontrado 9.831 incidentes únicos de crimes cibernéticos operando em Ollama, a maioria dos quais localizados na China, EUA, Alemanha, Coreia do Sul, Taiwan, França, Reino Unido, Índia, Cingapura e Hong Kong. Um em cada quatro servidores voltados para a Internet foi considerado vulnerável às falhas identificadas.
O desenvolvimento ocorre mais de quatro meses depois que a empresa de segurança em nuvem Wiz divulgou uma falha crítica que afeta Ollama (CVE-2024-37032) que pode ter sido explorada para execução remota de código.
“Expor o Ollama na Internet sem autorização é como expor um soquete docker na Internet pública, porque ele pode fazer upload de arquivos e tem a capacidade de puxar e enviar o modelo (que pode ser explorado por invasores)”, observou Lumelsky.