
Boîte à outils Python pour CVE-2026-85097 : exploite le téléversement de fichiers non authentifié de Bricksforge WordPress pour obtenir une RCE via des charges utiles polyglottes, ainsi qu'un scanner de détection de version non intrusif.

CVSS 10.0
Boîte à outils d'exploitation et scanner de détection sécurisé
Pour des tests de sécurité autorisés uniquement.
CVE-2026-85097 est une vulnérabilité critique de téléversement arbitraire de fichier non authentifié dans le plugin WordPress Bricksforge (versions 3.1.8.9 et antérieures). Elle permet à des attaquants distants de contourner la validation MIME et de téléverser des fichiers PHP contrôlés par l'attaquant dans le répertoire des téléversements, entraînant une exécution de code à distance sous l'utilisateur du serveur web.
Récupération du nonce : L'action AJAX bricksforge_regenerate_nonce est enregistrée avec wp_ajax_nopriv_, permettant à des attaquants non authentifiés d'obtenir un nonce REST valide.
Téléversement polyglotte : Le point de terminaison REST form_file_upload valide le type MIME du fichier téléversé. Un fichier polyglotte (en-tête PNG/GIF valide suivi de code PHP) passe cette vérification.
Confiance dans les métadonnées : Lors de la soumission du formulaire, le plugin fait confiance aux métadonnées fournies par le client dans le paramètre temporaryFileUploads. Le champ file pointe vers le polyglotte validé, tandis que le champ url contient le nom de fichier choisi par l'attaquant (y compris l'extension .php).
Exécution PHP : Le sink copy() du plugin utilise la valeur url fournie par l'attaquant telle quelle comme nom de fichier de destination. Le fichier polyglotte est renommé en .php dans wp-content/uploads/YYYY/MM/ et exécuté lors de l'accès.
| Attribut | Valeur |
|---|---|
| [>] Découverte | Octobre 2026 (Patchstack) |
| [>] Score CVSS | 10.0 (CRITIQUE) |
| [>] CWE | CWE-434 (Téléversement sans restriction de fichier de type dangereux) |
| [>] Plugin affecté | Bricksforge (module Pro Forms) |
| [>] Versions affectées | 3.1.8.9 et antérieures |
| [>] Version corrigée | 3.1.8.10 |
| [>] Authentification | Non requise (pré-authentification) |
| [>] Exploitation active | Confirmée dans la nature (octobre 2026) |
La boîte à outils d'exploitation enchaîne la récupération du nonce, le téléversement polyglotte, la manipulation des métadonnées et l'exécution PHP en un seul flux de travail automatisé, avec des fonctionnalités avancées pour le scan de masse, l'OPSEC et la post-exploitation.
| Fonctionnalité | Description |
|---|---|
| [+] Chaîne d'attaque complète | Récupération du nonce, téléversement polyglotte, soumission de formulaire, vérification du shell |
| [+] Charges utiles polyglottes | Variantes avec chunk tEXt PNG et extension de commentaire GIF |
| [+] Analyse de masse | Analyse concurrente avec pool de threads |
| [+] Post-exploitation | Installation de web shell, création d'utilisateur admin, reverse shell, exfiltration de fichiers |
| [+] Exécution de commandes | Exécution de commandes arbitraires sur les shells confirmés |
| [+] Détection sécurisée | Scanner non intrusif séparé (safechecker.py) |
| [+] Contournement de WAF | Usurpation d'en-têtes, rotation de User-Agent, encodage d'extension |
| [+] Prise en charge des proxys | SOCKS5, SOCKS4, proxys HTTP avec stratégies de rotation |
| [+] Formats de sortie multiples | JSON, CSV, HTML, JSONL, SQLite |
| [+] Thread-safe | Utilise des mécanismes de verrouillage pour les opérations concurrentes |
| [+] Limitation de débit | Limiteur de débit global avec jitter et délai |
| [+] Multiplateforme | Prend en charge Linux, macOS, BSD, WSL |
| Étape | Description |
|---|---|
nonce | Récupérer un nonce REST valide via l'action AJAX non authentifiée |
upload | Téléverser un PNG/GIF polyglotte qui passe la validation MIME |
submit | Soumettre le formulaire avec des métadonnées pointant vers le polyglotte et une URL .php |
verify | Accéder au shell téléversé et confirmer l'exécution de commandes |
exploit | Installer un web shell, créer un admin, déclencher un reverse shell, exfiltrer des fichiers |
Le vérificateur sécurisé (safechecker.py) effectue une détection de vulnérabilité non intrusive sans téléverser de charges utiles, soumettre de formulaires ni modifier la cible.
| Fonctionnalité | Description |
|---|---|
| [+] Détection de WordPress | Identifie les instances WordPress via plusieurs motifs |
| [+] Détection de plugin | Confirme la présence de Bricksforge via le HTML et les fichiers statiques |
| [+] Détection de version | Détecte les versions spécifiques du plugin |
| [+] Vérification des routes REST | Énumère les points de terminaison REST Bricksforge exposés |
| [+] Sonde du point de terminaison nonce | Vérification optionnelle du point de terminaison nonce (--probe-nonce) |
| [+] Vérification du journal de débogage | Inspecte wp-content/debug.log pour les traces du plugin |
| [+] Non intrusif | Identifie uniquement les versions vulnérables et les points de terminaison exposés |
| [+] Sortie JSON/CSV/SQL/JSONL | Exporte les résultats pour le reporting |
| [+] Analyse de masse | Analyse plusieurs cibles avec prise en charge du threading |
pip (pour la bibliothèque requests)pip install requests urllib3
git clone https://github.com/tc4dy/CVE-2026-85097-Toolkit.git
cd CVE-2026-85097-Toolkit
python3 exploit.py
#or
python3 safechecker.py
exploit.py)# Single target exploit
python3 exploit.py -u https://target.com --exploit
# Exploit with custom command
python3 exploit.py -u https://target.com --exploit --cmd "id; uname -a"
# Mass scanning from file with 20 threads
python3 exploit.py -f targets.txt --exploit -t 20 -o results.json
# Install web shell after successful exploit
python3 exploit.py -u https://target.com --exploit --webshell
# Create admin user via RCE
python3 exploit.py -u https://target.com --exploit --create-admin "sysadmin:Str0ng!Pass"