Radar · 27 de agosto de 2026

O agente continua obedecendo. Só que a instrução não é mais sua

A CVE-2026-65105 está na forma como o NVIDIA NemoClaw sobe o Ollama na máquina do desenvolvedor. Uma linha de configuração desliga a defesa que existia justamente contra esse ataque, e o resto do caminho é técnica de navegador com vinte anos de idade.

NVIDIA NemoClaw CVE-2026-65105 DNS rebinding Referência: 25/08/2026
Diagrama da cadeia de exploração da CVE-2026-65105, da página do atacante até o envenenamento do template do modelo
O sandbox protege a máquina. Ele não protege o modelo que roda fora dele, na porta 11434 do host.

O que aconteceu: pesquisadores da Oasis Security, com publicação da Cyera, descreveram em 25 de agosto uma falha no NVIDIA NemoClaw, a ferramenta que instala e roda o agente OpenClaw dentro de um sandbox OpenShell. Para que o contêiner alcance o servidor de inferência local, o NemoClaw sobe o Ollama com OLLAMA_HOST=0.0.0.0:11434. Esse bind fora do loopback faz o Ollama pular inteiramente a validação de cabeçalho Host. Combinado com DNS rebinding, qualquer página web ganha acesso completo e sem autenticação à API do modelo. A NVIDIA foi notificada pelo PSIRT antes da publicação e já corrigiu na versão mais recente.

A parte incômoda dessa história não é o DNS rebinding. É a mensagem que o instalador imprime na tela.

Quando o NemoClaw termina de configurar o ambiente, ele informa ao usuário: Using Ollama on localhost:11434. A API realmente responde em localhost. O socket, porém, está aberto em 0.0.0.0, ou seja, em todas as interfaces da máquina. Quem lê a mensagem entende "só na minha máquina". O que está no ar é "em toda a rede em que essa máquina estiver".

Não é um detalhe de redação. É a diferença entre um serviço sem autenticação exposto ao próprio computador e o mesmo serviço exposto ao Wi-Fi do coworking, ao segmento de rede do escritório e a qualquer dispositivo comprometido no meio do caminho.

Por que o bind em 0.0.0.0 desliga a defesa

A API do Ollama na porta 11434 nunca teve autenticação, por projeto. Ela se defende de páginas web com duas camadas. A primeira é o middleware de CORS, que confere o cabeçalho Origin. A segunda é a validação do cabeçalho Host, que rejeita requisições cujo Host não seja um nome local reconhecido.

A segunda camada existe especificamente para barrar DNS rebinding. E é ela que some. O código verifica se o endereço de bind é loopback; se não for, pula a checagem inteira. Sobra o CORS, e o CORS não resolve o problema: no ataque de rebinding, Origin e Host são o mesmo domínio do atacante. Mesma origem, requisição liberada.

O restante é mecânica conhecida. O atacante registra um domínio, faz a vítima abri-lo na porta 11434, e então troca a resolução DNS para 127.0.0.1. O navegador continua tratando aquele nome como a mesma origem, mas as requisições agora chegam ao Ollama local.

O payload que ninguém vê

Com a API aberta, o caminho óbvio seria injetar um system prompt no modelo. Não funciona contra um agente, porque o OpenClaw manda o próprio system prompt na chamada e ele sobrescreve o do modelo.

Os pesquisadores foram um nível abaixo. O endpoint /api/create também aceita o campo template, um template Go que define como a lista de mensagens vira texto bruto antes de chegar ao modelo. O template é aplicado a todas as mensagens, inclusive ao system prompt que o cliente acabou de enviar. E o cliente não tem como ler nem controlar o template.

Na prática o atacante busca o template original via /api/show, insere a própria instrução no ponto em que as mensagens de sistema são renderizadas e devolve o conjunto. Toda a lógica original continua ali: renderização de ferramentas, tokens especiais, formatação por papel. O agente manda "você é um assistente prestativo" e o modelo recebe "você é um assistente prestativo" seguido do que o atacante escreveu.

O envenenamento persiste entre conversas, sobrevive ao system prompt do cliente e não altera nada que apareça na interface. Nome do modelo, tamanho, família, quantização e metadados seguem idênticos.

O que a API expõe

EndpointO que o atacante consegue
POST /api/createReescrever o template do modelo. É o vetor de persistência.
POST /api/showLer o template original, o system prompt e a licença do modelo.
GET /api/tagsInventariar todos os modelos instalados, com tamanho e quantização.
POST /api/meObter o hostname da máquina, a chave pública e o usuário, se houver sessão.
POST /api/generateRodar inferência arbitrária na GPU da vítima.
POST /api/pushPublicar modelos no ollama.com sob a conta da vítima.
DELETE /api/deleteApagar os modelos locais.

Leitura LATAMSEC

Um agente comprometido pode sugerir código com falha que passa em revisão superficial, deixar de sinalizar problema de segurança, recomendar pacote controlado pelo atacante e mandar trecho de conversa para fora. Nada disso exige tocar na máquina depois da primeira visita.

E aqui está a conclusão que vale além desta CVE: o sandbox delimitou o dano ao endpoint, não ao agente. O OpenShell isola sistema de arquivos, rede e processos com competência. Só que um agente útil dentro de uma empresa recebe acesso a repositório, pipeline de CI, API interna, serviço de nuvem, ferramenta de mensageria e servidor MCP. O raio de alcance de um comprometimento não é o limite do contêiner. É a soma das credenciais que o agente carrega.

Vale registrar o contexto: esta é a terceira publicação da mesma equipe em agosto sobre runtime local de IA, depois de dez falhas em motores de modelo aberto e de uma análise sobre sandbox mal desenhado em sete produtos. A camada que roda o modelo na máquina do desenvolvedor virou superfície de ataque com pesquisa dedicada, e o inventário corporativo em geral não sabe que ela existe.

Três verificações que cabem em uma manhã. Primeira: existe algum ollama serve em execução na frota de desenvolvimento e em qual endereço ele está ligado? Um ss -ltnp | grep 11434 responde. Segunda: as máquinas que rodam agente com inferência local estão na mesma rede que impressora, dispositivo de visitante ou VLAN compartilhada? Terceira, e a mais difícil: se o modelo local de alguém tiver sido envenenado em julho, existe alguma forma de perceber isso hoje? Sem hash do template registrado em algum lugar, a resposta honesta costuma ser não.

Atualizar o NemoClaw resolve o bind. Não devolve confiança nos modelos que já estavam na máquina. Para esses, o caminho é comparar o template com o da origem ou simplesmente baixar de novo.

Outros sinais do dia

Exploração ativaGitea sai da divulgação para o ataque em menos de um mês

A CVE-2026-60004, de nota 9,8, entrou no catálogo de exploradas em 25 de agosto. O ataque relatado deixa carga de mineração. Correção na versão 1.27.1.

Cadeia de suprimentos24 pacotes npm servindo de infraestrutura de phishing

Os pacotes não carregam malware. Funcionam como redirecionador para páginas falsas de CAPTCHA no estilo ClickFix, o que reduz a chance de detecção por varredura de dependência.

Abuso de driverDriver assinado do Defender usado para operar no kernel

A Check Point Research descreveu como o driver de remediação em boot do Microsoft Defender permite operações arbitrárias de arquivo e registro, do Windows 7 ao 11 25H2.

Engenharia socialFornecedora de segurança aprova o push que não pediu

A ReliaQuest confirmou que um funcionário aprovou um push de MFA em uma página falsa de Okta em 22 de agosto. A empresa diz que o acesso foi somente leitura, em uma identidade, sem persistência.

Fontes e aprofundamento

  1. Cyera Research · Drive-By Agent Hijacking: One Website Visit, Persistent Model Poisoning, por Elad Luz e Ofek Itach (25/08/2026), com a pesquisa original da Oasis Security.
  2. NVIDIA · Product Security Incident Response Team (canal usado na divulgação coordenada da CVE-2026-65105).
  3. Ollama · documentação do runtime e da API na porta 11434 (comportamento de CORS e validação de Host).
  4. GBHackers · NVIDIA NemoClaw Vulnerability Lets Attackers Hijack AI Agents via DNS Rebinding (26/08/2026).
  5. Hackread · NVIDIA NemoClaw Flaw Lets Malicious Websites Hijack OpenClaw AI Agents (26/08/2026).
Solicitar diagnóstico de exposição Ver histórico do Radar