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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-87902 — Verifica o WordPress Core 4.7.0–7.1.1 em busca de LFI não autenticado (CVE-2026-87902) por meio de travessia de pagename com dupla codificação, com escalonamento opcional para RCE via PEAR config-create e varredura em massa. | Kitploit
Ferramentas/GitHubGitHub/langz337/cve-2026-87902
ReconhecimentoScanners de VulnerabilidadesScanners de Vulnerabilidades WebExploraçãoExploração de Aplicações WebColeta de InformaçõesSegurança WebTestes de PenetraçãoFerramenta de Acesso Remoto
GitHublangz337/cve-2026-87902

CVE-2026-87902

1há 1 mêsAinda não revisado

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 →

Verifica o WordPress Core 4.7.0–7.1.1 em busca de LFI não autenticado (CVE-2026-87902) por meio de travessia de pagename com dupla codificação, com escalonamento opcional para RCE via PEAR config-create e varredura em massa.

Ver Repositório
Compartilhar

CVE-2026-87902 — Inclusão Local de Arquivo Não Autenticada no Núcleo do WordPress (LFI → RCE Condicional)

Ferramenta de Exploração de Path Traversal em get_page_template() / locate_template() do Núcleo do WordPress

Apenas para testes de segurança autorizados. O acesso não autorizado a sistemas computacionais é ilegal.


Visão Geral da Vulnerabilidade

ItemDetalhes
ID CVECVE-2026-87902
ID GHSAGHSA-7hp8-65ch-5whp
Tipo de VulnerabilidadeCWE-98 — Controle Impróprio de Nome de Arquivo para Include/Require
CVSS v3.18.1 (Alta) / CVSS 4.0: 9.2 (Crítica)
Componente AfetadoNúcleo do WordPress
Versões Afetadas4.7.0 até 7.1.1 (todos os ramos)
Versões Corrigidas7.1.2 (e backports até 4.7.37)
Autenticação NecessáriaNenhuma (Não Autenticada)
Vetor de AtaqueUma única requisição GET
Descoberto PorRobert Ressl (via programa HackerOne do WordPress)
Data de Divulgação22 de setembro de 2026
Explorada em Ambiente RealSim — listada no catálogo CISA KEV

CVE-2026-87902 é uma vulnerabilidade de path traversal e inclusão local de arquivo (LFI) não autenticada no Núcleo do WordPress que afeta todas as versões do WordPress lançadas desde 2016 (4.7.0 a 7.1.1). Um atacante não precisa de conta ou autenticação. Ao forjar um parâmetro de consulta pagename malicioso, o atacante pode fazer com que o mecanismo de resolução de template de página do WordPress inclua qualquer arquivo .php legível fora do diretório do tema ativo. Sob condições específicas do servidor (PHP register_argc_argv = On e um pearcmd.php legível), a vulnerabilidade pode ser escalada para execução remota de código (RCE).


Versões Afetadas

RamoVersão Corrigida
4.7.x4.7.37
5.0.x5.0.29
5.3.x5.3.25
5.9.x5.9.18
6.0.x6.0.16
6.6.x6.6.9
6.9.x6.9.9
7.0.x7.0.6
7.1.x7.1.2

Detalhes Técnicos

Causa Raiz

A vulnerabilidade reside em get_page_template() em wp-includes/template.php. Quando a variável de consulta pagename está presente, a função constrói page-{$pagename}.php, mas falha em chamar validate_file() sobre esse valor para verificar path traversal de diretório. O nome de arquivo candidato é então passado para locate_template(), que o concatena com o caminho do diretório do tema e apenas verifica file_exists() — não verifica se o caminho resolvido permanece dentro do diretório do tema. Um nome de template contendo ../ pode, portanto, resolver para um arquivo PHP legível fora do tema ativo e ser incluído e executado.

Cadeia de Chamadas

GET /?page_id=&pagename= → WP_Query resolves page_id, matches a published page (avoids 404) → get_page_template() urldecode()s pagename, builds page-{$pagename}.php → locate_template() concatenates candidate to theme directory, resolves via file_exists() → template-loader executes realpath() + include

Bypass por Dupla Codificação

O WordPress aplica sanitize_title_for_query() a pagename, que substitui pontos literais (.) por hífens (-) para bloquear path traversal. Ela opera sobre a entrada já decodificada uma vez e não decodifica recursivamente. O atacante envia %252e%252e%252f (../ com dupla codificação):

  1. O servidor web decodifica uma vez: %252e → %2e, %252f → %2f
  2. sanitize_title_for_query() vê %2e%2e%2f (sem pontos literais) e o deixa passar
  3. get_page_template() chama internamente urldecode() novamente: %2e%2e%2f → ../
  4. A sequência de path traversal torna-se efetiva

Pré-condições de Exploração

  1. O tema ativo (pai ou filho) contém um diretório de nível superior começando com page- (por exemplo, page-templates/).
  2. Existe pelo menos uma página publicada cujo ID possa ser fornecido como page_id.
  3. O arquivo alvo deve terminar em .php (o WordPress acrescenta a extensão).

Nota sobre Hosts Windows: O Win32 normaliza .. lexicalmente, então o path traversal pode funcionar mesmo que o diretório page- não exista. No Linux, esse diretório deve existir de fato.

Escalação para RCE via PEAR

Condições:

  • O register_argc_argv do PHP está definido como On
  • Existe um pearcmd.php legível no servidor

O atacante inclui pearcmd.php via LFI e abusa do seu comando config-create para gravar um arquivo PHP no servidor, e então inclui esse arquivo novamente via LFI para executar comandos arbitrários.


Origem e Divulgação da CVE

Descobridor

A CVE-2026-87902 foi descoberta e reportada por Robert Ressl, um pesquisador de segurança baseado na Suíça.

Processo de Divulgação

Reportada por meio do programa HackerOne do WordPress em julho de 2026. A Equipe de Segurança do WordPress coordenou a correção e a lançou junto com o WordPress 7.1.2 em 22 de setembro de 2026.

Cronologia da Divulgação

DataEvento
Julho de 2026Robert Ressl reporta a vulnerabilidade por meio do programa HackerOne do WordPress
22 de setembro de 2026WordPress 7.1.2 lançado com a correção; aviso publicado
22 de setembro de 2026Backports de segurança lançados para os branches 7.0 até 4.7
23 de setembro de 2026Atacantes começam a sondar sites vulneráveis
25 de setembro de 2026CISA adiciona a CVE-2026-87902 ao catálogo KEV

Recursos da Ferramenta

RecursoDescrição
Fingerprinting de VersãoIdentifica a versão do WordPress via meta generator, feed RSS, OPML, readme.html, ?ver= de assets
Veredito Inteligente de VersãoUsa mapeamento de versões corrigidas para determinar se o alvo está no intervalo afetado
Descoberta de TemaExtrai o slug do tema ativo, detecta o tema pai, descobre diretórios page-*
Descoberta de Page IDEncontra IDs de página válidos via REST API, classe de corpo page-id-, shortlinks
Validação de Oráculo LFIUsa arquivos seguros como wp-links-opml.php e wp-trackback.php como oráculos com controles negativos
Travessia com Dupla CodificaçãoCodifica automaticamente em dupla porcentagem / e . para contornar sanitize_title_for_query()
Exploração de RCE via PEARTenta caminhos PEAR comuns, grava e executa arquivos marcadores via config-create
Varredura em MassaVarredura concorrente multithread de listas de alvos
Saída de ResultadosPersiste resultados em vuln_lfi.txt e vuln_lfitorce.txt

Requisitos

  • Python 3.10+
  • biblioteca requests

pip install requests


Uso

Iniciar

python3 CVE-2026-87902.py

Menu interativo:

[1] Single Scan LFI [2] Single Scan LFI + RCE [3] Mass Scan LFI [4] Mass Scan LFI + RCE [5] Exit

Varredura de Alvo Único (Somente LFI)

Escolha [1], insira a URL do alvo:

url > https://target.example.com

Varredura de Alvo Único (LFI + RCE)

Escolha [2], insira a URL e o comando (padrão id):

url > https://target.example.com cmd > id

Varredura em Massa

Escolha [3] ou [4], insira o arquivo contendo as URLs dos alvos (uma por linha, # para comentários):

file > targets.txt

Arquivos de Saída

ArquivoConteúdo
vuln_lfi.txtAlvos com LFI confirmado
vuln_lfitorce.txtAlvos com RCE bem-sucedido

Configuração

TIMEOUT = 8 # Request timeout (seconds) THREADS = 200 # Concurrent threads for mass scanning USE_ALL_ORACLES = False # Use all oracles (more accurate but slower)


Remediação

Baixar ferramenta