Falha crítica no MLflow é explorada e entra no KEV da CISA

A CVE-2026-64849 permite que um atacante sem autenticação faça o servidor do MLflow buscar e devolver respostas de serviços internos e de metadados de nuvem, incluindo credenciais. A correção está disponível na versão 3.15.0.

Ilustração abstrata de anéis concêntricos representando requisições redirecionadas em uma falha de SSRF

Imagem editorial original do Plugged Ninja

A CISA, agência de segurança cibernética do governo dos Estados Unidos, incluiu em 19 de agosto de 2026 a vulnerabilidade CVE-2026-64849 em seu catálogo de falhas exploradas ativamente (KEV). O alvo é o MLflow, plataforma de código aberto mantida sob a Linux Foundation e usada para depurar, avaliar, otimizar e monitorar aplicações de aprendizado de máquina, modelos de linguagem e agentes.

A falha recebeu nota 9,3 na escala CVSS 3.1, atribuída pela equipe de segurança do GitHub, e está classificada como CWE-918 — falsificação de requisição do lado do servidor, mais conhecida pela sigla SSRF. O vetor registrado é CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N: exploração pela rede, complexidade baixa, sem privilégios e sem interação do usuário.

Segundo o aviso oficial do projeto, versões até a 3.13.0 são afetadas; a correção foi publicada na versão 3.15.0. O MLflow registra mais de 30 milhões de downloads mensais, o que dá dimensão à superfície potencialmente exposta.

Como a falha no MLflow funciona

O problema está na entrega de webhooks do registro de modelos. Em uma instalação padrão do servidor de rastreamento (mlflow server, sem autenticação e com banco SQLite), a API de webhooks fica acessível sem autenticação — a autorização correspondente vive apenas em um plugin opcional que não é carregado por padrão.

Entre esses endpoints está um de teste síncrono que dispara a requisição e devolve ao chamador o status e o corpo da resposta recebida do destino. Essa devolução é o que transforma um SSRF “cego” em um SSRF de leitura completa.

O projeto já havia adicionado uma proteção contra SSRF na versão 3.10.0. Ela resolve o nome do host informado no webhook e rejeita endereços IP não públicos, bloqueando faixas internas, loopback e endereços de metadados. O problema, como descreve o aviso, é que a validação não fixa o endereço aprovado: o cliente HTTP segue redirecionamentos e volta a resolver o nome sem repetir a checagem.

Daí decorrem duas formas de contornar a proteção, ambas descritas pelo próprio projeto:

  • Redirecionamento não revalidado. Um host público que passa na verificação inicial responde com um redirecionamento apontando para um endereço interno ou para o serviço de metadados da nuvem. O servidor segue o redirecionamento e nunca revalida o destino.
  • DNS rebinding. A resolução feita pela validação e a resolução feita no momento da conexão acontecem de forma independente, criando uma janela clássica entre verificação e uso.

O aviso detalha ainda que o código de redirecionamento usado muda a natureza do ataque. Redirecionamentos que convertem a requisição em leitura permitem obter respostas de serviços internos; redirecionamentos que preservam o método e o corpo da requisição original permitem enviar dados a endpoints internos de gerenciamento que agem sobre requisições POST. Nenhum dos dois exige autenticação em um servidor de código aberto com a configuração padrão.

Por decisão editorial, o Plugged Ninja não reproduz as requisições de prova de conceito publicadas no aviso. Elas estão disponíveis na íntegra na página oficial, linkada ao final desta matéria.

Qual é o impacto real

De acordo com o aviso, um atacante sem autenticação que consiga alcançar o servidor de rastreamento pode fazer com que ele emita requisições para endpoints internos, de loopback ou de metadados de nuvem — e leia as respostas. Na prática, isso abre três possibilidades concretas:

  • Obtenção de credenciais de instância na nuvem, como credenciais IAM expostas pelo serviço de metadados da AWS.
  • Acesso a serviços administrativos que só deveriam ser alcançáveis de dentro do perímetro de rede.
  • Varredura de hosts e portas internas a partir do próprio servidor comprometido.

O projeto registra que a falha é uma correção incompleta de uma proteção anterior, e que ela foi confirmada na versão mais recente à época da publicação. O aviso também esclarece que não se trata de duplicata da CVE-2025-14279, que descreve um problema de natureza diferente, no lado do navegador.

Prazos, obrigações e o que a CISA determinou

Item Valor confirmado
Identificador CVE-2026-64849
Aviso do projeto GHSA-7gwp-5pfp-969j
Classificação CWE-918 (SSRF)
CVSS 3.1 9,3 (crítica)
Publicação no NVD 17 de agosto de 2026
Inclusão no KEV 19 de agosto de 2026
Prazo para órgãos federais dos EUA 2 de setembro de 2026
Uso confirmado por ransomware Desconhecido
Versões afetadas Até 3.13.0
Versão corrigida 3.15.0

A obrigação de correção em duas semanas decorre da Binding Operational Directive 26-04, emitida em junho de 2026, que orienta a priorização de atualizações com base em risco. A diretiva vale apenas para órgãos do Poder Executivo civil federal norte-americano, mas a CISA recomendou que todos os defensores de rede priorizem a correção. Não há, no Brasil, equivalente com força vinculante para o setor privado — o que reforça que a decisão de prazo cabe a cada organização.

Como a correção resolve o problema

A correção introduz um adaptador HTTP que valida o endereço IP do par imediatamente após o estabelecimento da conexão, antes de qualquer troca TLS ou HTTP. Como cada redirecionamento abre uma nova conexão pelo mesmo pool protegido, o destino de cada salto passa a ser verificado — o que fecha tanto a variante de leitura quanto a de escrita, além da janela de DNS rebinding.

Vale notar o histórico de divulgação registrado no aviso: o problema foi reportado em caráter privado em 12 de junho de 2026 e descoberto de forma independente, por revisão de código, em 26 de junho de 2026, quando foi relatado publicamente em uma issue do repositório. A prioridade de descoberta é atribuída ao primeiro relator.

Recomendações

  • Atualize para o MLflow 3.15.0 ou superior. Essa é a única medida que corrige a causa raiz.
  • Verifique a exposição. Servidores de rastreamento do MLflow não deveriam estar acessíveis pela internet. Levante os ativos publicados e restrinja o acesso a redes internas ou a uma VPN.
  • Habilite autenticação. Se o plugin de autenticação do projeto não estiver ativo, os endpoints de webhook ficam abertos por padrão.
  • Imponha IMDSv2 nas instâncias em nuvem. Em ambientes AWS, exigir o serviço de metadados em sua versão com sessão dificulta a obtenção de credenciais por SSRF.
  • Reduza privilégios do papel associado à instância que executa o MLflow, limitando o alcance de credenciais eventualmente vazadas.
  • Revise registros. Procure por criação de webhooks e chamadas ao endpoint de teste em servidores expostos, e por requisições de saída do servidor para endereços internos ou de metadados.
  • Rotacione credenciais se houver indício de acesso ao serviço de metadados ou a serviços internos a partir do servidor.

O que observar a seguir

A CISA declara que a falha está sendo explorada, mas não divulgou detalhes sobre os atores envolvidos, o volume de tentativas ou os objetivos observados; o campo de uso por ransomware está registrado como desconhecido. Também não há, até o momento, atribuição pública a um grupo específico.

O caso ilustra um ponto que tende a se repetir: a infraestrutura de suporte a projetos de aprendizado de máquina — servidores de rastreamento, registros de modelos, painéis de experimentos — costuma ser implantada com configuração padrão, dentro do perímetro e com credenciais de nuvem associadas. É exatamente o perfil de ativo em que um SSRF de leitura completa causa mais estrago. Vale acompanhar se o mesmo padrão aparece em outras plataformas do ecossistema.

Fontes e referências

PLUGGED NINJA
Informações de privacidade

Este site usa cookies para que possamos oferecer a melhor experiência de usuário possível. As informações dos cookies são armazenadas em seu navegador e executam funções como reconhecê-lo quando você retorna ao nosso site e ajudar nossa equipe a entender quais seções do site você considera mais interessantes e úteis.