Uma explicação de uma vulnerabilidade no GPUStack (um gerenciador de código aberto que executa modelos de IA em clusters de GPU e provisiona instâncias de GPU) que permite que partes não autenticadas ajam como administrador. Cobre o que acontece, quem é afetado e como responder, do lado da defesa e sem passos de ataque.
- CVE
- CVE-2026-102895 (aviso do GitHub GHSA-gj9m-f8ph-pmhr)
- Gravidade
- CVSS v3.1 9,8 (crítica). O mesmo valor no aviso, no registro CVE e no NVD
- Tipo
- Autenticação inadequada (CWE-287). O aviso também lista contorno de autenticação por falsificação (CWE-290) e erro de validação de origem (CWE-346)
- Condições prévias
- Sem autenticação; basta ter acesso de rede ao GPUStack. Segundo o aviso, as configurações padrão são afetadas
- Afetado
- pip gpustack anterior à 2.2.0
- Correção
- gpustack 2.2.0
- Datas
- Aviso: 31 de julho de 2026 / registro CVE: 4 de novembro de 2026
- Exploração
- Exploração em uso real relatada no aviso. Incluído no CISA KEV em 9 de novembro de 2026 (prazo: 12 de novembro)
O risco de esperar
Segundo o aviso, uma parte não autenticada pode alterar usuários, modelos e configurações de workers, e criar chaves de API de administrador que funcionam de qualquer endereço de origem. Credenciais de workers e de provedores de nuvem podem ser lidas, e combinado com a funcionalidade exclusiva de administrador isso leva à execução de código nos hosts dos workers. O aviso diz que a exploração em uso real foi observada. A CISA marca a triagem forense como necessária para esta entrada do KEV.
O que é a vulnerabilidade
Com as configurações padrão (force_auth_localhost é false), o GPUStack trata uma requisição vinda da mesma máquina (loopback) como o administrador embutido. Isso foi pensado para poupar autenticação no uso local. O problema é que aquilo que decide «é a mesma máquina» pode ser influenciado de fora.
Segundo o aviso há dois caminhos até o administrador sem autenticação. O primeiro é um proxy reverso no mesmo host: quando o proxy encaminha para o GPUStack, até as requisições externas parecem ao GPUStack vir de loopback. É uma disposição autohospedada comum e não precisa de cabeçalho nem de credencial. O segundo é um cabeçalho de encaminhamento de requisição; o aviso diz que um valor fornecido pelo cliente pode fazer uma requisição parecer loopback. Este site não descreve como explorá-lo.
Antes (anterior à 2.2.0)
- Uma origem loopback vira administrador sem autenticação
- Atrás de um proxy reverso no mesmo host, o tráfego externo parece loopback
- Um cabeçalho de encaminhamento pode falsificar a origem
Mudanças depois (2.2.0)
- O caminho que trata loopback como administrador é removido
- O tratamento do IP do cliente e dos cabeçalhos de encaminhamento é reforçado
- Um cabeçalho de IP real do cliente só é aceito de um gateway autenticado e confiável
Escopo
| Item | Detalhe |
|---|---|
| Produto | GPUStack (gerenciador de código aberto de clusters de GPU) |
| Pacote afetado | pip gpustack |
| Versões afetadas | Anteriores à 2.2.0 (aviso e registro CVE) |
| Versão corrigida | 2.2.0 |
| Dano real | Aviso: exploração em uso real observada contra a v2.1.1 |
| O que pode acontecer | Todas as ações de administrador (alterar usuários, modelos, workers), criar chaves de API de administrador, ler credenciais de workers e de provedores de nuvem, execução de código nos workers (segundo o aviso e o KEV) |
- Segundo o aviso, as configurações padrão são afetadas.
- O aviso lista apenas o pacote pip gpustack. Se você o instalou de outra forma, como uma imagem de contêiner, consulte as informações do seu fornecedor sobre a versão.
Como verificar se você é afetado
Verifique a versão do GPUStack
Verifique a versão do gpustack instalada. Qualquer uma anterior à 2.2.0 é afetada. Se você tem ambientes de produção, homologação e desenvolvimento, verifique cada um (checklist de inventário de ativos).
Verifique se ele pode ser acessado de fora
Verifique se a porta do GPUStack, ou o proxy reverso na frente dele, pode ser acessada de faixas não confiáveis como a internet. Segundo o aviso, a falha funciona por meio de um proxy reverso no mesmo host, então estar atrás de um proxy não é prova de segurança.
Verifique a configuração force_auth_localhost
Verifique se force_auth_localhost está como true. Segundo o aviso, o padrão é false, o que deixa aberto o caminho vulnerável.
O que fazer hoje
Atualize para a 2.2.0 (prioridade máxima)
Atualize o gpustack para a 2.2.0 ou posterior. O prazo do KEV é 12 de novembro de 2026.
Até lá, reduza a entrada
As soluções alternativas do aviso são as abaixo. Nenhuma substitui a atualização.
- Defina force_auth_localhost como true para que requisições loopback também precisem de autenticação.
- Garanta que o proxy reverso ou o gateway não consiga fazer o tráfego externo parecer loopback, e remova na borda qualquer cabeçalho X-GPUStack-Real-IP fornecido pelo cliente.
- Mantenha a API fora de redes não confiáveis, atrás de uma VPN ou de autenticação na borda.
Depois de atualizar, audite as chaves de API de administrador
Segundo o aviso, uma chave de API de administrador criada passa a funcionar de qualquer endereço de origem. Atualizar não a remove, então liste as chaves de API existentes e exclua as de cujo criador ou horário de criação você não se lembra. Olhe principalmente as chaves criadas antes da atualização.
Revogue e reemita as credenciais
O aviso diz que credenciais de workers e segredos de provedores de nuvem podem ser lidos. Revogue e reemita o que você registrou no GPUStack: dados de conexão de workers, chaves de provedores de nuvem, tokens de download de modelos e similares. Como acréscimo deste site, reemita-os mesmo que não encontre vestígio de abuso. Veja O guia de correção de vulnerabilidades e Noções básicas de segurança: .env e chaves de API.
Revise as configurações e os workers
Procure backends personalizados, usuários e configurações de modelos que você não reconhece. Nos workers, procure processos e conexões de saída que você não reconhece. Como a exploração foi confirmada, trate qualquer configuração que você não reconhece como possível sinal de comprometimento. Se encontrar algo suspeito, isole esse worker e considere reconstruí-lo.
Situação da exploração
- O aviso afirma que a exploração em uso real foi observada contra uma implantação v2.1.1. A exploração é atribuída a um relator externo.
- A CISA o incluiu no KEV (o catálogo de vulnerabilidades com exploração confirmada; versão 2026.11.09) em 9 de novembro de 2026, com prazo em 12 de novembro. O uso em campanhas de ransomware consta como desconhecido, e a triagem forense como necessária.
- O registro do NVD tem o status Analyzed. O CVSS v3.1 é 9,8, igual ao do aviso e ao do registro CVE.
- O aviso credita vários relatores que comunicaram a vulnerabilidade de forma independente.
A visão deste site: não deixe nada sem autenticação por ser interno ou estar atrás de um proxy
Isto é menos um deslize de código do que uma suposição de design equivocada. «Uma requisição da minha própria máquina sou eu» desmorona assim que se coloca um proxy reverso na frente. Um proxy reverso no mesmo host também é uma forma muito difundida de adicionar HTTPS e publicar um serviço, então uma configuração que parece protegida vira a porta de entrada.
O console de administração de uma plataforma de IA reúne em um só lugar o ambiente de execução de modelos, os recursos de GPU e as credenciais da nuvem. Se ele aceita requisições não autenticadas, o dano não fica em uma máquina; espalha-se para fora pelas credenciais da nuvem. Proteja consoles e APIs de administração com autenticação, não com localização nem endereço de origem. A mesma classe de problema aparece quando um design confia em cabeçalhos de encaminhamento (falsificação de XFF e proxies confiáveis). Depois de atualizar, o trabalho não terminou até que você limpe as chaves de API que foram criadas e as credenciais que podem ter sido lidas.
Fontes
- GPUStack — GHSA-gj9m-f8ph-pmhr: Authentication bypass via trusted loopback source (publicado em 31 de julho de 2026; versões afetadas, correção, soluções alternativas, relato de exploração)
- CVE.org — CVE-2026-102895 (publicado em 4 de novembro de 2026; anteriores à 2.2.0, CVSS 9,8)
- NVD — CVE-2026-102895 (status Analyzed)
- CISA KEV — Known Exploited Vulnerabilities Catalog (incluído em 9 de novembro de 2026, prazo em 12 de novembro)
Última verificação: 10 de novembro de 2026.