Unauthenticated arbitrary file read and remote code execution in CrushFTP
Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Resumen
Falha de injeção de template server-side (SSTI) na interface web do CrushFTP que permite a um atacante não autenticado escapar da sandbox de VFS, ler arquivos arbitrários do sistema (inclusive como root), contornar autenticação e obter acesso administrativo — e a partir daí RCE completo. O fornecedor descreveu o problema como um simples 'sandbox escape' de leitura de arquivos; análise independente da Rapid7 mostrou que o impacto real é muito maior: comprometimento total do servidor sem qualquer credencial.
Detalle técnico
A vulnerabilidade está no mecanismo de templates da interface web do CrushFTP (CWE-1336, neutralização inadequada de elementos usados em template engine). O fornecedor a descreveu como escape da sandbox de VFS (virtual file system), permitindo que requisições HTTP não autenticadas atinjam caminhos fora do diretório virtual do usuário. A Rapid7, ao analisar o código que dispara a falha, concluiu que a causa raiz é injeção de template server-side: o atacante controla entrada que é interpretada como sintaxe de template pelo motor interno do CrushFTP, permitindo não só leitura de arquivo fora da sandbox como execução de lógica arbitrária dentro do contexto do servidor.
O efeito em cascata é o que torna a CVE crítica: leitura arbitrária de arquivos do sistema (incluindo os que guardam credenciais de administrador) abre caminho para bypass de autenticação, e daí para acesso administrativo completo via WebInterface. Com acesso de administrador no CrushFTP é possível alterar configurações, adicionar usuários, e alcançar execução remota de código no host — não há necessidade de exploit separado para RCE, é a consequência direta da cadeia de SSTI + escalonamento administrativo.
O Airbus CERT (Simon Garrelou), que reportou a falha, publicou um scanner que reproduz a leitura de arquivo fora da sandbox como prova de exploração, confirmando que nenhuma autenticação prévia é necessária para o passo inicial da cadeia.
Cómo se explota
O vetor é a interface web (WebInterface) exposta do CrushFTP, acessível pela rede sem qualquer credencial. O atacante envia requisições HTTP manipuladas que acionam a interpretação de template no lado do servidor; não há pré-condição de autenticação, configuração não padrão ou interação de usuário — é exatamente o que o vetor CVSS AV:N/AC:L/PR:N/UI:N indica. A Rapid7 classificou a exploração como trivial após reversão do patch.
Houve exploração ativa como zero-day antes da divulgação pública: a CrowdStrike (Falcon OverWatch/Falcon Intelligence) observou ataques direcionados contra múltiplas organizações nos EUA, com indícios de campanha de coleta de inteligência, provavelmente com motivação política — não exploração massiva e oportunista, mas ataques dirigidos a alvos específicos. Depois que o fornecedor divulgou o problema (19/04/2024) e código de prova de conceito ficou público (23/04/2024), a exploração se tornou trivialmente reproduzível por qualquer atacante, o que motivou a inclusão no catálogo KEV da CISA já em 24/04 com prazo de correção de 01/05/2024.
A Rapid7 identificou que o payload pode ser entregue de várias formas e, com técnicas evasivas, fica irreconhecível em logs — inclusive atrás de proxy reverso padrão (NGINX/Apache), que oferece defesa apenas parcial. Isso torna difícil distinguir tráfego malicioso de legítimo só pela inspeção de requisição.
Versiones
Cómo protegerse
A correção definitiva é atualizar para CrushFTP 10.7.1 (ramo 10.x) ou 11.1.0 (ramo 11.x); instalações legadas da série 9.x são vulneráveis e devem migrar para a série 11. A Rapid7 validou que o patch do fornecedor remedia efetivamente a falha e recomenda aplicação em caráter de emergência, fora do ciclo normal de patch.
O fornecedor afirmou que clientes usando uma DMZ na frente da instância principal do CrushFTP estariam 'parcialmente protegidos'. A Rapid7 contesta essa afirmação como barreira efetiva e recomenda não confiar em DMZ como mitigação — trate essa alegação do fornecedor com ceticismo até validação independente. Como controle compensatório real, habilitar o 'Limited Server mode' com a configuração mais restritiva disponível reduz a superfície para RCE administrativo, e restringir por firewall quais IPs podem acessar a interface web do CrushFTP limita a exposição — mas nenhuma dessas medidas substitui o patch, pois o vetor de leitura de arquivo/SSTI inicial ainda pode ser alcançável dependendo da configuração.
Proxy reverso (NGINX/Apache) na frente do CrushFTP oferece defesa apenas parcial: técnicas evasivas de payload continuam funcionando através dele, portanto não deve ser tratado como mitigação suficiente isoladamente.
Cómo detectar
O Airbus CERT publicou um script (scan_logs.py) que busca nos logs de instalação do CrushFTP a string '' como indicador de comprometimento, equivalente a um grep recursivo no diretório de logs; quando há correspondência, o script tenta extrair o IP de origem da tentativa de exploração. Esse é o sinal mais concreto disponível publicamente.
A própria Rapid7 alerta que a detecção é difícil: o payload pode ser entregue em várias formas, e técnicas evasivas fazem com que o conteúdo malicioso seja redigido/ocultado nos próprios logs e na história de requisições, tornando-o indistinguível de tráfego legítimo — mesmo atrás de proxy reverso padrão. Ou seja, ausência de indicadores nos logs não garante que o servidor não foi explorado; monitorar acesso à interface web exposta publicamente e cruzar com IOCs de campanhas relatadas (CrowdStrike) é a abordagem mais confiável disponível.