
O framework web Ruby on Rails enfrenta uma vulnerabilidade crítica no componente Active Storage, que permite a atacantes não autenticados ler ficheiros arbitrários e escalar o ataque para a execução remota de código (RCE). O alerta oficial foi publicado no GitHub pela equipa de manutenção do projeto, que atribuiu gravidade máxima à falha classificada como CVE-2026-66066.
O mecanismo do ataque KindaRails2Shell
O Active Storage gere o upload de ficheiros e anexos nas aplicações Rails, utilizando bibliotecas como o libvips ou o ImageMagick para gerar miniaturas das imagens. O perigo manifesta-se especificamente quando o libvips está em uso e o servidor aceita carregamentos de imagens de utilizadores não confiáveis. Através de um ficheiro manipulado, o atacante consegue ler dados diretamente no servidor e aceder ao ambiente do processo.
A Akamai, empresa de segurança que apelidou esta cadeia de exploração de "KindaRails2Shell", avisa para o forte potencial de comprometimento global. Ao conseguir ler ficheiros do sistema, o invasor extrai dados vitais como credenciais de bases de dados, serviços na nuvem e, de forma mais crítica, a secret_key_base. Na posse desta chave criptográfica mestre do Rails, torna-se possível forjar cookies de sessão e manipular dados serializados, o que resulta no controlo total e execução remota de código no servidor. Utilizadores do ImageMagick estão protegidos deste vetor, mas importa notar que o libvips é o processador padrão nas imagens oficiais do Rails em Docker, bem como em configurações base de Debian e Ubuntu.
Versões afetadas e medidas de mitigação
O CVE-2026-66066 compromete diretamente as versões do Active Storage anteriores à 7.2.3.2, a ramificação 8.0.x antes da 8.0.5.1 e a 8.1.x antes da 8.1.3.1. As aplicações baseadas em Rails 6.x apenas correm risco se o Active Storage tiver sido configurado fora dos seus padrões iniciais.
A equipa do Rails recomenda a atualização imediata para o libvips 8.13 ou superior. Após a aplicação da correção, os administradores têm obrigatoriamente de rodar a secret_key_base, as credenciais da base de dados e quaisquer outros segredos acessíveis à aplicação. Em sistemas que corram a versão 8.13 ou mais recente, é possível desativar a função vulnerável temporariamente, configurando a variável de ambiente VIPS_BLOCK_UNTRUSTED ou chamando Vips.block_untrusted(true) para quem utiliza o ruby-vips 2.2.1 ou superior. Não existe qualquer solução alternativa para aplicações presas a versões do libvips anteriores à 8.13.
O relatório da vulnerabilidade foi conduzido pelos investigadores da Ethiack e da GMO Flatt Security Inc. A divulgação técnica completa estava agendada para o dia 28 de agosto nos fóruns oficiais do Rails, para dar margem de manobra aos programadores. A rápida disponibilização pública de exploits de prova de conceito (PoC) forçou a antecipação da partilha de detalhes completos e ferramentas de investigação forense. A Ethiack reforça que as firewalls de aplicações web (WAF) podem conceder algum tempo às equipas técnicas, mas os atacantes apoiados por ferramentas de IA conseguem reconstruir a cadeia de ataque apenas através da análise das diferenças no código da correção.












Nenhum comentário
Seja o primeiro!