Falha crítica no Ruby on Rails permite roubo de arquivos do servidor por upload de imagens
- Cyber Security Brazil
- há 13 minutos
- 2 min de leitura

A equipe do Ruby on Rails corrigiu uma vulnerabilidade crítica no Active Storage que pode permitir que invasores não autenticados leiam arquivos arbitrários do servidor por meio do envio de imagens especialmente manipuladas. A falha, identificada como CVE-2026-66066 (CVSS 9,5), pode expor segredos da aplicação e abrir caminho para execução remota de código (RCE).
O problema afeta aplicações que utilizam o libvips para processamento de imagens no Active Storage e aceitam uploads de arquivos enviados por usuários não confiáveis. Segundo os pesquisadores, a vulnerabilidade permite acessar informações sensíveis armazenadas no ambiente da aplicação, incluindo secret_key_base, a Rails Master Key, credenciais de banco de dados, chaves de serviços em nuvem e tokens de APIs.
De acordo com a Ethiack e a GMO Flatt Security, são 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. As versões 6.0.0 até 6.1.7.10 também são vulneráveis quando configuradas para utilizar o libvips, embora esse não fosse o processador padrão nessa geração. Aplicações que utilizam MiniMagick não são afetadas por essa cadeia de ataque.
Segundo a equipe de segurança do Rails, ambientes baseados em Debian, Ubuntu e imagens Docker geradas pelo próprio framework costumam incluir as bibliotecas necessárias para exploração da falha por padrão, embora isso possa variar conforme a distribuição utilizada.
A vulnerabilidade está na integração entre o Active Storage e o libvips. O componente aceita diferentes formatos e operações suportados por bibliotecas de terceiros, algumas classificadas como inseguras para dados enviados por usuários. Como essas operações não eram bloqueadas pelo Active Storage, um arquivo especialmente elaborado podia ser utilizado para acessar qualquer arquivo que pudesse ser lido pelo processo da aplicação.
A exploração não depende da existência de funcionalidades específicas, como geração de miniaturas ou redimensionamento de imagens. Segundo a equipe do Rails, tanto o analisador quanto o transformador de imagens encaminhavam arquivos enviados pelos usuários para operações inseguras do libvips.
Embora a vulnerabilidade permita inicialmente apenas a leitura de arquivos, os pesquisadores alertam que a obtenção de credenciais sensíveis pode resultar em comprometimento completo da aplicação, execução remota de código ou movimentação lateral para outros sistemas conectados.
Até o momento da divulgação, não havia relatos de exploração ativa nem vítimas conhecidas. No entanto, após a publicação do boletim de segurança, um repositório de terceiros no GitHub disponibilizou uma prova de conceito (PoC) que afirma reproduzir toda a cadeia de ataque — da leitura arbitrária de arquivos até a execução remota de código em um ambiente Docker de testes. A equipe do The Hacker News informou que não validou independentemente o funcionamento desse código.
As correções estão disponíveis nas versões Rails 7.2.3.2, 8.0.5.1 e 8.1.3.1. Além da atualização, os mantenedores recomendam atualizar o libvips para a versão 8.13 ou superior, utilizar ruby-vips 2.2.1 ou posterior quando aplicável e realizar a rotação de todos os segredos que possam ter sido acessados pelo processo da aplicação, incluindo secret_key_base, Master Key, credenciais de banco de dados, chaves do Active Storage e tokens de serviços externos.
A vulnerabilidade foi reportada independentemente por André Baptista, Bruno Mendes e Rafael Castilho, da Ethiack, e por RyotaK, da GMO Flatt Security. A equipe do Rails informou que divulgará detalhes técnicos adicionais até 28 de agosto de 2026.

