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 — Lab locale basato su Docker che riproduce CVE-2026-87902, un path traversal nei template di pagina di WordPress che porta all'inclusione locale di file PHP e a RCE basata su PEAR, con uno script PoC. | Kitploit
Strumenti/GitHubGitHub/xiaxiu555/cve-2026-87902
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebApprendimento e FormazioneSviluppo PayloadLab e Pratica
GitHubxiaxiu555/cve-2026-87902

cve-2026-87902

Lab locale basato su Docker che riproduce CVE-2026-87902, un path traversal nei template di pagina di WordPress che porta all'inclusione locale di file PHP e a RCE basata su PEAR, con uno script PoC.

129 giorni 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 →
Condividi
Vedi Repository

CVE-2026-87902 WordPress ambiente locale

Ambiente Docker locale per riprodurre CVE-2026-87902 (path traversal nel parsing dei template di pagina di WordPress → inclusione di file PHP locale → RCE tramite scrittura di file con pearcmd).

⚠️ Solo per apprendimento e ricerca sulla sicurezza in ambienti autorizzati. Eseguibile solo in Docker locale, vietato l'uso su qualsiasi target non autorizzato. La vulnerabilità è stata corretta ufficialmente il 2026-09-22 e tutte le branch supportate hanno ricevuto la patch.

Informazioni sulla vulnerabilità

  • CVE: CVE-2026-87902 (GHSA-7hp8-65ch-5whp), CWE-98 inclusione di file PHP, CVSS 4.0 9.2 Critico
  • Impatto: WordPress 4.7.0 – 7.1.1 (correzione: 7.1.2 / 7.0.6, gli altri rami con backport a 4.7.37)
  • Principio: get_page_template() esegue un secondo urldecode() sul parametro pagename controllabile dall'utente e lo concatena nei nomi candidati del template; locate_template() usa file_exists() per trovare il file e, prima del caricamento, esegue solo controlli di realpath/estensione/leggibilità, senza verificare che il percorso rimanga all'interno della directory del tema (la canonicalizzazione c'è, la containment no)
  • PoC originale e write-up (Robert Ressl):
    • https://github.com/ressl/cve-2026-87902-poc
    • https://ressl.ch/blog/cve-2026-87902-wordpress/
    • https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp

Le quattro condizioni di sfruttamento preimpostate nell'ambiente

#CondizioneCome questo ambiente la soddisfa
1Pagina pubblicata senza template personalizzato specificatosetup.sh crea e ripulisce automaticamente una pagina di esempio
2Directory page-* al livello superiore del tema attivotheme/mytheme/page-templates/ (il tema attivo contiene questa directory)
3/usr/local/lib/php/pearcmd.php leggibileL'immagine php ufficiale include PEAR
4register_argc_argv=On + punto di scrittura scrivibileL'immagine ufficiale non ha php.ini, il valore predefinito di compilazione è On; /tmp è scrivibile

Avvio rapido

docker compose up -d      # al primo avvio scarica automaticamente le immagini (circa 1GB)
sh setup.sh               # installazione + inserimento di /flag + verifica delle quattro condizioni
python cve-2026-87902.py --url http://127.0.0.1:8091

Output previsto:

[*] page id  : 4 (about, default template, via /index.php?rest_route=...)
[*] depth 7  : stage 1 HTTP 200, stage 2 HTTP 200
[+] marker   : 'CVE-2026-87902-POC-OK' found 12 time(s) in the stage-2 response
[+] EXPLOIT SUCCESSFUL - PHP executed with the web-server account's privileges

(12 volte = il file di configurazione di PEAR ha 12 voci di configurazione, in ognuna è incorporato un payload)

Verifica e spiegazione

Visualizza il file scritto da PEAR nella stage 1 (testo serializzato che inizia con #PEAR_Config 0.9, con il payload incorporato come caratteri normali nelle 12 voci di configurazione):

docker compose exec wordpress cat /tmp/wp-pear-rce-flag.php
  • stage 1: sfruttare il path traversal per includere pearcmd.php; register_argc_argv=On fa sì che la query string venga suddivisa in $argv in base a +, e pearcmd crede di essere stato invocato da terminale; config-create <root> <file> scrive root (con codice PHP incorporato) così com'è nel file di destinazione
  • stage 2: la stessa catena di traversal include il file appena scritto, <?=...?> viene eseguito e legge /flag restituendolo in output

Backend e pulizia

  • Backend WordPress: http://127.0.0.1:8091/wp-admin (admin / admin123, solo per il laboratorio locale)
  • Contenuto del flag: CVE-2026-87902-POC-OK (nel file /flag del container)
  • Utenti Windows: eseguire setup.sh con Git Bash

Pulizia completa (container + volumi dati + immagini):

docker compose down -v --rmi all

Descrizione dei file

docker-compose.yml     WordPress 7.0.2-php8.3-apache + MySQL 8.4 + wp-cli
theme/mytheme/         tema sperimentale (contiene la directory page-templates/, condizione ②)
cve-2026-87902.py      PoC (da ressl/cve-2026-87902-poc, copyright dell'autore originale)
setup.sh               installazione con un comando + autoverifica delle quattro condizioni

Ringraziamenti e dichiarazione

  • Scoperta e divulgazione della vulnerabilità: Robert Ressl (ressl.ch), divulgazione coordinata tramite il processo di sicurezza ufficiale di WordPress (HackerOne)
  • Questo repository contiene solo l'assemblaggio di immagini ufficiali, directory secondo le convenzioni ufficiali e PoC pubblici, a scopo didattico di riproduzione
  • Ogni conseguenza derivante dall'uso di questo ambiente è a carico esclusivo dell'utente
Scarica lo strumento