← volver
CVE-2024-4040criticalbajo ataqueCWE-1336

Unauthenticated arbitrary file read and remote code execution in CrushFTP

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 9.8epss 100%
de la publicación al arma1 días
Publicada en NVD22 abr
1ª PoC+1d
CISA KEV+2d
probabilidad de explotación
100%top 1% de las CVE
explotación observada
CISA + VulnCheck
36 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2024-05-01

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

Afectadas
Todas as instalações legadas da série CrushFTP 9.x; CrushFTP 10 em versões anteriores à 10.7.1; CrushFTP 11 em versões anteriores à 11.1.0. Afeta todas as plataformas.
Corregidas en
CrushFTP 10.7.1 (ramo 10.x) e CrushFTP 11.1.0 (ramo 11.x). Instalações da série 9.x não recebem patch — é necessário migrar para a série 11.

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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
A server side template injection vulnerability in CrushFTP in all versions before 10.7.1 and 11.1.0 on all platforms allows unauthenticated remote attackers to read files from the filesystem outside of the VFS Sandbox, bypass authentication to gain administrative access, and perform remote code execution on the server.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados
CrushFTP · CrushFTP
PoCs públicas encontradas36
githubgithub.com/Stuub/CVE-2024-4040-SSTI-LFI-PoC63cve_referencegithub.com/airbus-cert/CVE-2024-404052githubgithub.com/rbih-boulanouar/CVE-2024-404014githubgithub.com/geniuszly/GenCrushSSTIExploit8githubgithub.com/gotr00t0day/CVE-2024-40407githubgithub.com/dhammerg/CVE-2024-40405githubgithub.com/jakabakos/CVE-2024-4040-CrushFTP-File-Read-vulnerability4githubgithub.com/entroychang/CVE-2024-40403githubgithub.com/rahisec/CVE-2024-40400githubgithub.com/ill-deed/CrushFTP-CVE-2024-4040-illdeed0githubgithub.com/Sidjaz/CrushFTP-CVE-2024-4040-Proof-of-Concept0githubgithub.com/juanorts/CrushFTP10-Docker-CVE-2024-40400githubgithub.com/cthhhhhh/CrushFTP-SSTI-LFI-Proof-of-Concept0githubgithub.com/Mufti22/CVE-2024-40400githubgithub.com/0xN7y/CVE-2024-40400githubgithub.com/Praison001/CVE-2024-4040-CrushFTP-server0githubgithub.com/1ncendium/CVE-2024-40400githubgithub.com/olebris/CVE-2024-40400githubgithub.com/safeer-accuknox/CrushFTP-cve-2024-4040-poc0vulncheckvulncheck.com/xdb/247af1523302no verificadovulncheckvulncheck.com/xdb/1a53f981a558no verificadovulncheckvulncheck.com/xdb/b40b6bf3d5a6no verificadovulncheckvulncheck.com/xdb/40ea0e9b601dno verificadovulncheckvulncheck.com/xdb/d683df1ebca9no verificadovulncheckvulncheck.com/xdb/c046e180c9e7no verificadovulncheckvulncheck.com/xdb/2655831cd2edno verificadovulncheckvulncheck.com/xdb/c76b89de33efno verificadovulncheckvulncheck.com/xdb/eeeb1a30c8c2no verificadovulncheckvulncheck.com/xdb/458c6db39e2eno verificadovulncheckvulncheck.com/xdb/e71d60507f5dno verificadovulncheckvulncheck.com/xdb/6e43a515753dno verificadovulncheckvulncheck.com/xdb/49d5d24a6094no verificadovulncheckvulncheck.com/xdb/896af97e3f84no verificadovulncheckvulncheck.com/xdb/046e8f9ffb52no verificadovulncheckvulncheck.com/xdb/33874f45fc53no verificadovulncheckvulncheck.com/xdb/df5498fd3264no verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.