Campanha de varredura em massa explora falha no Vite para extrair credenciais de nuvem de servidores de desenvolvimento expostos

Campanha de varredura em massa explora falha no Vite para extrair credenciais de nuvem de servidores de desenvolvimento expostos

Ataques automatizados observados em agosto de 2026 usam a CVE-2026-39364 (CVSS 8,2) para contornar a diretiva server.fs.deny e ler arquivos sensíveis, incluindo segredos de AWS e Azure, em instâncias de desenvolvimento expostas à internet.

ComponenteServidor de desenvolvimento do Vite exposto publicamente; falha CVE-2026-39364 (CVSS 8,2) permite leitura de arquivos bloqueados por server.fs.deny
VetorRequisições HTTP GET não autenticadas ao endpoint /@fs/ com parâmetros de consulta como ?raw, ?import&raw ou ?import&url&inline, contornando a verificação de server.fs.deny
ImpactoExtração de credenciais em texto puro de AWS e Azure, senhas de banco de dados, chaves de API e arquivos de estado de infraestrutura em servidores de desenvolvimento expostos
PrioridadeAtualizar o Vite para versão corrigida, remover exposição pública do servidor de desenvolvimento e rotacionar credenciais presentes em arquivos.env ou em variáveis de ambiente de instâncias expostas
ArtefatosAlvos observados incluem /proc/self/cwd/.env, /proc/self/environ, /proc/1/environ, /etc/passwd, terraform.tfstate e serverless.yml
Resumo técnico

Uma campanha automatizada de varredura em massa, observada em agosto de 2026, tem explorado a vulnerabilidade CVE-2026-39364 no Vite, ferramenta amplamente usada para construção de aplicações front-end, para roubar dados sensíveis de servidores de desenvolvimento expostos à internet. A atividade tem como alvo credenciais e configurações de instâncias Amazon Web Services e Microsoft Azure, além de arquivos de estado de infraestrutura como código, segundo a análise técnica divulgada na segunda quinzena de setembro.

A falha, classificada com severidade alta e pontuação CVSS de 8,2, permite que um atacante não autenticado contorne restrições de segurança por meio da manipulação de parâmetros de consulta em requisições HTTP. O resultado prático é a leitura de arquivos que deveriam estar bloqueados pela diretiva de configuração server.fs.deny, como arquivos de ambiente (.env) e certificados (*.crt), que passam a ser retornados com código HTTP 200 quando parâmetros como ?raw, ?import&raw ou ?import&url&inline são acrescentados à requisição. O advisory original da falha foi publicado em abril de 2026.

Fluxo técnico

A exploração exige três condições simultâneas: o servidor de desenvolvimento deve estar explicitamente exposto à rede por meio da flag --host ou da opção server.host, o que inclui mapeamentos de porta mal configurados em contêineres Docker; o arquivo sensível deve residir dentro dos diretórios permitidos por server.fs.allow; e o arquivo deve estar coberto por um padrão de negação em server.fs.deny. Na configuração padrão, o Vite escuta apenas em localhost, o que limita o alcance da falha a ambientes em que a exposição foi ativada manualmente ou por erro de configuração.

Na prática, o atacante emite uma requisição HTTP GET ao endpoint /@fs/ referenciando o caminho de um arquivo sensível e acrescentando os parâmetros de bypass. O servidor processa a requisição, a verificação de server.fs.deny é invalidada e o conteúdo do arquivo é devolvido em texto puro no corpo da resposta. As sondagens observadas na campanha incluem o caminho /proc/self/cwd/.env, técnica que localiza o arquivo de ambiente relativo ao processo em execução sem exigir adivinhar o caminho absoluto da aplicação, além de leitura de /proc/self/environ, /proc/1/environ, /etc/passwd, terraform.tfstate e serverless.yml. O impacto escala rapidamente quando esses caminhos expõem segredos de API, senhas de banco de dados e credenciais administrativas de nuvem em texto puro.

  • Requisição GET não autenticada ao endpoint /@fs/ com parâmetros de bypass anexados
  • Contorno da diretiva server.fs.deny retorna o arquivo solicitado em texto puro
  • Sondagem de /proc/self/cwd/.env elimina a necessidade de conhecer o caminho absoluto da aplicação
Superfície afetada

A superfície de risco concentra-se em ambientes de desenvolvimento e homologação onde o servidor do Vite foi tornado acessível fora de localhost, seja pela flag --host, pela configuração server.host ou por mapeamentos de porta expostos em contêineres Docker. Equipes que sobem servidores de desenvolvimento em máquinas com endereço IP público, em redes corporativas roteáveis ou em plataformas de nuvem compartilhadas estão diretamente expostas à varredura automatizada.

Os dados visados na campanha confirmam o alvo principal: arquivos.env com segredos de aplicação, variáveis de ambiente do processo e do processo init, arquivos de estado do Terraform, definições serverless e informações do sistema. Qualquer projeto que armazene credenciais de AWS, Azure, chaves de API ou senhas de banco de dados nesses arquivos e que atenda às três condições de exploração deve ser tratado como potencialmente comprometido.

  • Servidores de desenvolvimento Vite expostos via --host, server.host ou port mapping de Docker
  • Arquivos.env, certificados e chaves cobertos por padrões de server.fs.deny
  • Credenciais de AWS e Azure e arquivos terraform.tfstate e serverless.yml
Hunting e telemetria

A campanha usa cabeçalhos User-Agent falsificados imitando rastreadores conhecidos, entre eles Googlebot, ClaudeBot, GPTBot, PerplexityBot, OAI-SearchBot e Amazonbot, além de injetar valores forjados nos cabeçalhos X-Forwarded-For e X-Real-IP, como 34.94.237[.]62 e 104.28.219[.]193, para contornar listas de acesso baseadas em IP e dificultar a análise de logs. Parte relevante do tráfego malicioso tem origem nos Estados Unidos, Bélgica, Holanda, Singapura e Taiwan, com uso de faixas do Google Cloud Platform (34.x e 35.x) para se misturar ao tráfego legítimo.

Para caça à ameaça, as equipes devem inspecionar logs dos servidores de desenvolvimento em busca de requisições ao endpoint /@fs/ contendo os parâmetros de bypass, com atenção especial a acessos a caminhos sob /proc/ e a arquivos.env e terraform.tfstate. Como os cabeçalhos de identificação são forjados, a correlação não deve depender de User-Agent nem de X-Forwarded-For; o endereço de conexão TCP real no balanceador ou no firewall é a fonte confiável.

  • Requisições GET para /@fs/ com parâmetros ?raw, ?import&raw ou ?import&url&inline nos logs HTTP
  • Acessos a /proc/self/environ, /proc/1/environ, /etc/passwd e /proc/self/cwd/.env
  • User-Agent imitando rastreadores como Googlebot, ClaudeBot e GPTBot combinado com X-Forwarded-For forjado
  • Conexões originadas de faixas 34.x e 35.x do Google Cloud Platform direcionadas a portas de desenvolvimento
Mitigação

A resposta imediata consiste em atualizar o Vite para uma versão corrigida da CVE-2026-39364 e eliminar a exposição pública do servidor de desenvolvimento, restaurando o comportamento padrão de escuta em localhost. Servidores de desenvolvimento não devem, em nenhuma hipótese, receber tráfego direto da internet; acessos remotos legítimos devem passar por túneis autenticados ou redes privadas.

Para instâncias que atenderam às condições de exploração durante a janela de exposição, é necessário presumir comprometimento dos segredos presentes em arquivos.env e em variáveis de ambiente: rotacionar credenciais de AWS e Azure, chaves de API e senhas de banco de dados, revogar tokens emitidos a partir delas e revisar logs de auditoria das plataformas de nuvem em busca de uso indevido. Por fim, mover segredos para gerenciadores dedicados e remover dados sensíveis do ambiente de desenvolvimento reduz o impacto de futuras falhas de leitura de arquivos.

  • Atualizar o Vite para a versão com correção da CVE-2026-39364
  • Remover a flag --host e revertes server.host para localhost; revisar port mappings de Docker
  • Rotacionar credenciais de AWS e Azure e demais segredos em arquivos.env de ambientes expostos
  • Inspecionar logs de acesso por requisições a /@fs/ com parâmetros de bypass e caminhos sob /proc/

Postar um comentário

0 Comentários