Alerta de segurança: CVE-2026-45829 expõe ChromaDB a execução remota de código sem autenticação

Publicada 4 min de lectura 25 leituras

Uma falha crítica na API Python de ChromaDB - a popular base de vetores usada para recuperação durante a inferência de LLM - permite a atacantes não autenticados executar código arbitrário em servidores expostos. A vulnerabilidade tem sido registrada como CVE-2026-45829 e foi relatada pelos pesquisadores de HiddenLayer; sua análise técnica indica que a verificação de autenticação ocorre demasiado tarde no fluxo, após o servidor ter baixado e executado código remoto solicitado por um atacante.

O problema é um ponto da API marcado como “autenticado” onde um payload pode injetar parâmetros de modelo que forçam ChromaDB a carregar artefatos remotos (por exemplo, do Hugging Face) com mecanismos que permitem executar código remoto, como usar trust_remote_code. Segundo HiddenLayer, a função que valida credenciais é executada após a carga do modelo, o que significa que o pedido maliciosa pode provocar execução local mesmo quando o servidor responde com um erro 500 depois. O relatório técnico com evidências está disponível na análise de HiddenLayer: https://www.hiddenlayer.com/research/chromatoast-served-pre-auth.

Alerta de segurança: CVE-2026-45829 expõe ChromaDB a execução remota de código sem autenticação
Imagem gerada com IA.

ChromaDB é um projeto de código aberto com uma distribuição Python amplamente usada; a versão em PyPI acumula milhões de downloads mensais. O código vulnerável afeta a implementação do servidor API em Python e, segundo os pesquisadores, o bug foi introduzido em uma versão 1.x e permaneceu sem adesivos pelo menos até 1.5.8. Os mantenedores publicaram uma versão 1.5.9 após o relatório, mas no momento da descoberta não estava claro se as mudanças corrigem completamente o vetor exploável. A página oficial do projeto serve como referência: https://github.com/chroma-core/chroma A estatística de choque pode ser consultada no PyPI: https://pypistats.org/packages/chromadb.

O alcance operacional é relevante: os locais que não expõem o servidor Python por HTTP e os que usam o frontend em Rust não estariam afetados. No entanto, as digitalizaçãos de exposição na Internet realizadas pelos pesquisadores sugerem que uma proporção elevada de instâncias acessíveis estão em versões vulneráveis; em ambientes de produção onde a API está acessível da rede pública, o risco de exploração remota é real e sério.

Do ponto de vista da gestão de risco, esta vulnerabilidade exemplifica dois problemas tradicionais em aplicações ML/AI: a execução de código proveniente de modelos compartilhados (trust_remote_code) e a fragilidade dos fluxos de autorização quando a ordem de operações permite que ações sensíveis ocorram antes das verificações de segurança. A lição é clara: carregar artefatos sem validação prévia é equivalente a aceitar execução remota não confiável.

Se você gerencia instâncias de ChromaDB, prioriza imediatamente essas ações: evita expor a API Python ao tráfego público; se você precisar de acesso remoto, encapsula o serviço por trás de uma VPN ou túnel autenticado e limita o acesso por IP. Considera migrar para o frontend em Rust para implantaçãos que exijam exposição externa até que exista confirmação de um adesivo auditado. Restringe o porto da API através de regras de firewall e políticas de rede e desactiva qualquer opção que faça trust_remote_code em tempo de execução.

Além de mitigações de acesso, adiciona controles de detecção e pesquisa: busca em seus registros padrões incomuns como downloads de domínios de modelos (p. ex. huggingface.co), erros 500 correlacionados com fetch de modelos, picos de CPU ou processos novos que executem código não esperado e criação de arquivos de modelo em rotas não usuais. Se a sua organização usar a digitalização de segurança interna, prioriza verificações para o tráfego cessante para repositórios de modelos públicos e configura alertas para operações de carga/execução de artefatos.

Alerta de segurança: CVE-2026-45829 expõe ChromaDB a execução remota de código sem autenticação
Imagem gerada com IA.

Para reduzir a superfície a longo prazo, incorpora validação prévia de artefatos ML: digitaliza pacotes de modelos, evita trust_remote_code salvo em ambientes controlados e assina/verifica modelos internos. Aplica o princípio de menor privilégio ao processo que carrega e executa modelos (nos contentores, contas com permissões limitadas) e adota controles de integridade e bloqueio de execução que impeçam que artefatos remotos executem comandos do sistema.

Se você suspeitar que sua instância pode ter sido comprometida, trazê-la como incidente: isola o host, preserva logs e artefatos de modelo para análise forense, rota credenciais que poderiam ter ficado expostas e revisa a integridade de seus dados e modelos. Comunica a descoberta de equipamentos de segurança e, se for confirmada exploração, considera notificar clientes afetados de acordo com as suas obrigações regulamentares.

Finalmente, segue de perto a evolução do caso e aplica o adesivo oficial apenas quando a comunidade ou os mantenedores publicarem uma correção verificada. Mantenha-se informado nas fontes públicas do incidente e na ficha da vulnerabilidade: https://nvd.nist.gov/vuln/detail/CVE-2026-45829. A combinação de atenuações de rede, rejeição de trust_remote_code, auditoria de modelos e práticas de implantação seguras é a melhor defesa enquanto persista a incerteza sobre a remediação completa.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.