Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-87902 — Esegue la scansione di WordPress Core 4.7.0–7.1.1 per CVE-2026-87902, LFI non autenticato tramite traversal di pagename con doppia codifica, con escalation RCE opzionale tramite PEAR config-create e scansione di massa. | Kitploit
Strumenti/GitHubGitHub/langz337/cve-2026-87902
RicognizioneScanner di VulnerabilitàScanner di Vulnerabilità WebExploitSfruttamento di Applicazioni WebRaccolta InformazioniSicurezza WebPenetration TestingStrumento di Accesso Remoto
GitHublangz337/cve-2026-87902

CVE-2026-87902

11 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Esegue la scansione di WordPress Core 4.7.0–7.1.1 per CVE-2026-87902, LFI non autenticato tramite traversal di pagename con doppia codifica, con escalation RCE opzionale tramite PEAR config-create e scansione di massa.

Vedi Repository
Condividi

CVE-2026-87902 — WordPress Core Inclusione Locale di File Non Autenticata (LFI → RCE Condizionale)

Strumento di Sfruttamento per Path Traversal in WordPress Core get_page_template() / locate_template()

Solo per test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale.


Panoramica della Vulnerabilità

VoceDettagli
ID CVECVE-2026-87902
ID GHSAGHSA-7hp8-65ch-5whp
Tipo di VulnerabilitàCWE-98 — Controllo Improprio del Nome File per Include/Require
CVSS v3.18.1 (Alto) / CVSS 4.0: 9.2 (Critico)
Componente AffettoWordPress Core
Versioni Affettedalla 4.7.0 alla 7.1.1 (tutti i rami)
Versioni Corrette7.1.2 (e backport fino alla 4.7.37)
Autenticazione RichiestaNessuna (Non Autenticata)
Vettore di AttaccoSingola richiesta GET
Scoperta DaRobert Ressl (tramite il programma HackerOne di WordPress)
Data di Divulgazione22 settembre 2026
Sfruttata in NaturaSì — elencata nel catalogo CISA KEV

CVE-2026-87902 è una vulnerabilità di path traversal e inclusione locale di file (LFI) non autenticata in WordPress Core che interessa ogni versione di WordPress rilasciata dal 2016 (dalla 4.7.0 alla 7.1.1). Un attaccante non necessita di alcun account o autenticazione. Manipolando un parametro di query pagename malevolo, l'attaccante può indurre il meccanismo di risoluzione dei template di pagina di WordPress a includere qualsiasi file .php leggibile al di fuori della directory del tema attivo. In specifiche condizioni del server (PHP register_argc_argv = On e un pearcmd.php leggibile), la vulnerabilità può essere escalata a esecuzione remota di codice (RCE).


Versioni Affette

RamiVersione Corretta
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

Dettagli Tecnici

Causa Radice

La vulnerabilità risiede in get_page_template() in wp-includes/template.php. Quando la variabile di query pagename è presente, la funzione costruisce page-{$pagename}.php ma non riesce a chiamare validate_file() su quel valore per verificare la presenza di directory traversal. Il nome file candidato viene quindi passato a locate_template(), che lo concatena con il percorso della directory del tema e verifica solo file_exists() — non verifica che il percorso risolto rimanga all'interno della directory del tema. Un nome di template contenente ../ può quindi risolversi in un file PHP leggibile al di fuori del tema attivo ed essere incluso ed eseguito.

Catena di Chiamate

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 tramite Doppia Codifica

WordPress applica sanitize_title_for_query() a pagename, che sostituisce i punti letterali (.) con trattini (-) per bloccare il traversal. Opera su input già decodificato una volta e non esegue decodifica ricorsiva. L'attaccante invia %252e%252e%252f (../ doppiamente codificato):

  1. Il server web decodifica una volta: %252e → %2e, %252f → %2f
  2. sanitize_title_for_query() vede %2e%2e%2f (nessun punto letterale) e lo lascia passare
  3. get_page_template() chiama internamente di nuovo urldecode(): %2e%2e%2f → ../
  4. La sequenza di traversal diventa efficace

Precondizioni di Sfruttamento

  1. Il tema attivo (parent o child) contiene una directory di primo livello che inizia con page- (ad esempio, page-templates/).
  2. Esiste almeno una pagina pubblicata il cui ID può essere fornito come page_id.
  3. Il file di destinazione deve terminare con .php (WordPress aggiunge l'estensione).

Nota per Host Windows: Win32 normalizza .. lessicalmente, quindi il traversal può funzionare anche se la directory page- non esiste. Su Linux, quella directory deve esistere realmente.

Escalation RCE tramite PEAR

Condizioni:

  • PHP register_argc_argv è impostato su On
  • Esiste un pearcmd.php leggibile sul server

L'attaccante include pearcmd.php tramite LFI e sfrutta il suo comando config-create per scrivere un file PHP sul server, quindi include nuovamente quel file tramite LFI per eseguire comandi arbitrari.


Origine e divulgazione della CVE

Scopritore

CVE-2026-87902 è stata scoperta e segnalata da Robert Ressl, un ricercatore di sicurezza con sede in Svizzera.

Processo di divulgazione

Segnalata tramite il programma HackerOne di WordPress nel luglio 2026. Il WordPress Security Team ha coordinato la correzione e l'ha rilasciata insieme a WordPress 7.1.2 il 22 settembre 2026.

Cronologia della divulgazione

DataEvento
Luglio 2026Robert Ressl segnala la vulnerabilità tramite il programma HackerOne di WordPress
22 settembre 2026Rilasciato WordPress 7.1.2 con la correzione; pubblicato l'avviso
22 settembre 2026Rilasciati i backport di sicurezza per i rami dalla 7.0 alla 4.7
23 settembre 2026Gli attaccanti iniziano a sondare i siti vulnerabili
25 settembre 2026CISA aggiunge CVE-2026-87902 al catalogo KEV

Funzionalità dello strumento

FunzionalitàDescrizione
Fingerprinting della versioneIdentifica la versione di WordPress tramite meta generator, feed RSS, OPML, readme.html, ?ver= degli asset
Verdetto intelligente sulla versioneUtilizza la mappatura delle versioni corrette per determinare se il target rientra nell'intervallo interessato
Scoperta del temaEstrae lo slug del tema attivo, rileva il tema padre, scopre le directory page-*
Scoperta degli ID di paginaTrova ID di pagina validi tramite REST API, classe body page-id-, shortlink
Validazione dell'oracolo LFIUtilizza file sicuri come wp-links-opml.php e wp-trackback.php come oracoli con controlli negativi
Traversal con doppia codificaCodifica automaticamente due volte in percentuale / e . per aggirare sanitize_title_for_query()
Sfruttamento RCE tramite PEARProva percorsi PEAR comuni, scrive ed esegue file marker tramite config-create
Scansione di massaScansione concorrente multi-thread di elenchi di target
Output dei risultatiSalva i risultati in vuln_lfi.txt e vuln_lfitorce.txt

Requisiti

  • Python 3.10+
  • libreria requests

pip install requests


Utilizzo

Avvio

python3 CVE-2026-87902.py

Menu interattivo:

[1] Scansione singola LFI [2] Scansione singola LFI + RCE [3] Scansione di massa LFI [4] Scansione di massa LFI + RCE [5] Esci

Scansione di un singolo target (solo LFI)

Scegli [1], inserisci l'URL del target:

url > https://target.example.com

Scansione di un singolo target (LFI + RCE)

Scegli [2], inserisci URL e comando (predefinito id):

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

Scansione di massa

Scegli [3] o [4], inserisci il file contenente gli URL dei target (uno per riga, # per i commenti):

file > targets.txt

File di output

FileContenuto
vuln_lfi.txtTarget LFI confermati
vuln_lfitorce.txtTarget RCE sfruttati con successo

Configurazione

TIMEOUT = 8 # Timeout della richiesta (secondi) THREADS = 200 # Thread concorrenti per la scansione di massa USE_ALL_ORACLES = False # Usa tutti gli oracoli (più accurato ma più lento)


Remediation

Scarica lo strumento