Vulnerabilidades críticas de segurança descobertas no Ollama, um dos projetos de código aberto mais populares do GitHub com mais de 155.000 estrelas, podem permitir que invasores executem código arbitrário em sistemas vulneráveis.
As falhas afetam versões do Ollama anteriores a 0.7.0, colocando em risco inúmeros entusiastas e desenvolvedores de IA que usam a plataforma para executar grandes modelos de linguagem localmente.
Compreendendo a vulnerabilidade
Pesquisadores de segurança descobriram um problema crítico Fora dos limites Vulnerabilidade de gravação no Ollama que ocorre quando ele analisa arquivos de modelo maliciosos.
A vulnerabilidade existe no código que lida com arquivos GGUF, um formato binário usado para armazenar metadados e pesos do modelo.
Os invasores com acesso à API do Ollama podem explorar isso carregando arquivos de modelo especialmente criados, levando à execução remota de código.
A vulnerabilidade foi confirmada como explorável em compilações sem configuração de Executável Independente de Posição.
No entanto, os pesquisadores acreditam que ele também poderia ser explorado em compilações habilitadas para PIE, incluindo lançamentos oficiais. Os usuários são fortemente incentivados a atualizar imediatamente.
A arquitetura de Ollama combina Go, C e C++, com tarefas de computação intensiva, como inferência tratada por código C/C++.
A plataforma implementa um modelo cliente-servidor onde o servidor gera processos executores para lidar com a inferência do modelo.
Durante este processo, Ollama deve analisar e carregar modelos do disco, criando uma oportunidade para os invasores injetarem código malicioso.
A vulnerabilidade específica envolve o manuseio inseguro de metadados de modelos durante a análise de modelos MLLAMA, uma versão multimodal da família Llama.
O código lê metadados de arquivos de modelo sem validar adequadamente os limites da matriz, criando uma condição de gravação fora dos limites.
Como os invasores podem controlar arquivos de modelo, esses metadados deveriam ser tratados como dados não confiáveis, mas Ollama não conseguiu implementar a validação adequada.
Exploração e Impacto
Os pesquisadores desenvolveram uma prova de conceito demonstrando como os invasores poderiam criar arquivos de modelo maliciosos contendo metadados especialmente projetados.
Esses arquivos exploram a vulnerabilidade para inverter bits de memória arbitrários, potencialmente sobrescrevendo ponteiros de função e redirecionando a execução de código.
O ataque torna-se particularmente perigoso quando tem como alvo ponteiros de função NULL em estruturas de memória, permitindo que invasores chamem endereços arbitrários.
Através de técnicas sofisticadas de Programação Orientada ao Retorno, os invasores podem redirecionar funções do sistema para operações perigosas, permitindo a execução de comandos arbitrários.
Um invasor pode assumir o controle total do sistema simplesmente carregando um arquivo de modelo malicioso.
Em uma reviravolta notável, os mantenedores do Ollama corrigiram inadvertidamente a vulnerabilidade dois dias antes de os pesquisadores reportá-la.
A equipe reescrever o modelo mllama vulnerável que manipula código de C++ para Go, eliminando o caminho de código perigoso. Isso destaca os benefícios de segurança das linguagens de programação seguras para memória.
Os usuários devem atualizar imediatamente o Ollama para a versão 0.7.0 ou posterior para se protegerem contra esta vulnerabilidade.
As organizações que usam o Ollama devem revisar seus controles de acesso à API para garantir que apenas usuários confiáveis possam carregar modelos, adicionando uma camada de segurança.
Siga-nos emGoogle Notícias,LinkedIneXpara obter atualizações instantâneas e definir GBH como fonte preferencial em Google.
