O Ruby on Rails liberou correções para uma vulnerabilidade crítica no Active Storage que poderia permitir que atacantes sem autenticação lessem arquivos arbitrários dos servidores da aplicação por meio de uploads de imagem especialmente preparados.
Identificada como CVE-2026-66066, com pontuação CVSS de 9,5, a falha pode expor o ambiente do processo do Rails e segredos como secret_key_base, a chave mestra do Rails, senhas de banco de dados, credenciais de armazenamento em cloud e tokens de API.
Esses segredos podem abrir caminho para execução remota de código (RCE) ou movimentação lateral para outros sistemas conectados.
As aplicações afetadas usam libvips para o processamento de imagens no Active Storage e aceitam uploads de usuários não confiáveis.
O Rails passa a selecionar o Vips a partir de load_defaults 7.0, e os padrões posteriores mantêm essa escolha.
A Ethiack e a GMO Flatt Security apontam como afetadas as versões Rails 7.0.0 até 7.2.3.1, Rails 8.0.0 até 8.0.5 e Rails 8.1.0 até 8.1.3.
Já as versões Rails 6.0.0 até 6.1.7.10 só são afetadas quando o Active Storage está configurado para usar Vips, que não era o processador padrão no Rails 6.
O comunicado oficial lista uma faixa mais ampla para o pacote: activestorage < 7.2.3.2.
No entanto, os dois grupos de pesquisa situam o caminho de ataque prático via Vips no Rails 6.0 e posteriores.
Aplicações que usam MiniMagick não ficam expostas por esse vetor específico.
Como o Rails 7.0 e o 7.1 já chegaram ao fim da vida útil e não contam com versões corrigidas, ambientes nessas ramificações precisam migrar para o Rails 7.2.3.2 ou superior.
Os operadores devem atualizar para Rails 7.2.3.2, 8.0.5.1 ou 8.1.3.1 e rotacionar todo segredo que possa ser lido pelo processo da aplicação.
As instalações corrigidas exigem libvips 8.13 ou posterior e, quando o ruby-vips estiver instalado, ruby-vips 2.2.1 ou posterior.
Até as 17h30 UTC de 29 de julho de 2026, nenhum dos dois grupos de pesquisa havia publicado uma prova de conceito (PoC).
Uma busca por termos exatos não encontrou repositórios de exploit nos resultados indexados do GitHub, GitLab, Exploit-DB ou Packet Storm no mesmo período.
O Rails alertou que aplicar o patch não invalida credenciais que já possam ter sido roubadas.
A falha está na fronteira de confiança entre o Active Storage e o libvips.
O comunicado de segurança do Rails afirma que o libvips oferece loaders, salvadores e outras operações, algumas apoiadas por bibliotecas de terceiros e marcadas como "unfuzzed" ou "untrusted" por não serem seguras para entradas hostis.
O Active Storage não bloqueava esses recursos, o que permitia que um upload malicioso acionasse uma dessas operações e revelasse arquivos legíveis pelo processo do Rails.
Uma aplicação vulnerável não precisa expor uma função dedicada de redimensionamento ou geração de miniaturas.
"Gerar variantes não é um requisito separado", disse o Rails.
O patch público também mostra que tanto o analisador quanto o transformador do Vips encaminhavam anexos não confiáveis para essas operações inseguras.
Uma solicitação bem-sucedida entrega ao atacante um primitivo de leitura arbitrária de arquivos.
A execução de código ou a movimentação lateral dependeriam do que o atacante conseguir extrair e do alcance das credenciais obtidas.
O Rails orienta os operadores a rotacionar secret_key_base, a chave mestra e as credenciais descriptografadas, as credenciais de banco de dados, as chaves do serviço de Active Storage e tokens de terceiros.
O patch chama Vips.block_untrusted(true) quando o Active Storage é iniciado.
Aplicações que não puderem atualizar o Rails imediatamente podem definir VIPS_BLOCK_UNTRUSTED ao executar libvips 8.13 ou posterior, ou chamar Vips.block_untrusted(true) com ruby-vips 2.2.1 ou posterior.
O Rails informa que versões anteriores do libvips não conseguem bloquear essas operações, portanto as aplicações precisam atualizar o libvips ou removê-lo da aplicação.
O Rails creditou André Baptista, Bruno Mendes e Rafael Castilho, da Ethiack, e RyotaK, da GMO Flatt Security, pela descoberta independente do problema.
Os pesquisadores não divulgaram o formato malicioso, a construção da leitura de arquivo nem a cadeia de RCE.
O Rails afirmou que mais detalhes técnicos serão publicados até 28 de agosto de 2026.
A equipe de segurança do Rails foi procurada sobre exploração e versões afetadas, e a Ethiack foi consultada sobre a cadeia de ataque.
Nem o Rails nem os pesquisadores relataram exploração em ambiente real até a publicação.
Uma verificação às 17h30 UTC de 29 de julho constatou que a CVE-2026-66066 não constava na versão 2026.07.27 do catálogo Known Exploited Vulnerabilities da CISA.
Não há um número confiável de aplicações vulneráveis ou de vítimas identificadas.
A pontuação 9,5 descreve a gravidade segundo o CVSS, e não quantos ambientes estão expostos.
Para ser vulnerável, a implantação também precisa usar Vips, aceitar uploads de imagem não confiáveis e incluir uma operação explorável na compilação do libvips.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Guardsi: qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...