
CVE-2026-93300 के लिए Python प्रूफ़-ऑफ़-कॉन्सेप्ट, जो EventON Subscriber WordPress प्लगइन में एक अनधिप्रमाणित SQL इंजेक्शन है; AJAX हैंडलर की फ़िंगरप्रिंटिंग करता है और समय-आधारित ऑरेकल के माध्यम से डेटाबेस डेटा निकालता है।
CVE-2026-93300 के लिए Python प्रूफ-ऑफ-कॉन्सेप्ट: EventON - Subscriber WordPress प्लगइन में email पैरामीटर के माध्यम से अनधिकृत SQL इंजेक्शन (Wordfence, CVSS 7.5 High)।
| CVE | CVE-2026-93300 |
| प्लगइन | EventON - Subscriber (eventon-subscriber) |
| प्रभावित | सभी संस्करण ≤ 1.4.5 |
| ठीक किया गया संस्करण | कोई प्रकाशित नहीं (2026-10 तक) |
| वेक्टर | POST /wp-admin/admin-ajax.php, action=evosub_new_subscriber, पैरामीटर email |
| प्रमाणीकरण | कोई नहीं (अनधिकृत) |
| CWE | CWE-89 SQL इंजेक्शन |
सब्सक्रिप्शन-फ़ॉर्म AJAX हैंडलर (evosub_new_subscriber, जो wp_ajax_nopriv_ के साथ पंजीकृत है, और assets/evosub_script.js में सार्वजनिक फ्रंट-एंड फ़ॉर्म से पहुँच योग्य है) उपयोगकर्ता द्वारा प्रदान किए गए email मान का उपयोग करके $wpdb->prepare() / उचित एस्केपिंग के बिना एक मौजूदा SQL क्वेरी बनाता है। यह मान बिना एस्केप किए क्वेरी तक पहुँचता है, इसलिए एक हमलावर स्ट्रिंग लिटरल से बाहर निकल सकता है और डेटाबेस से मनमाना डेटा पढ़ने के लिए क्वेरी को जोड़/संशोधित कर सकता है।
evosub_script.js में क्लाइंट-साइड ईमेल रेगेक्स ब्राउज़र में एकमात्र फ़ॉर्मेट जाँच है; यह कोई सर्वर-साइड सुरक्षा प्रदान नहीं करता है।
# 1. Detect only (fingerprint handler, find working injection oracle)
python3 cve_2026_93300.py --url https://target.example --mode check
# 2. Dump wp_users (login / email / password hash)
python3 cve_2026_93300.py --url https://target.example --mode users --prefix wp_
# 3. Extract any scalar query result
python3 cve_2026_93300.py --url https://target.example --mode sql \
--sql "SELECT option_value FROM wp_options WHERE option_name='admin_email'"
| विकल्प | डिफ़ॉल्ट | विवरण |
|---|---|---|
--mode | check | check / users / sql |
--action | evosub_new_subscriber | परीक्षण हेतु AJAX action |
--param | email | इंजेक्ट किया गया पैरामीटर |
--prefix | wp_ | WordPress टेबल प्रीफ़िक्स |
--sql | — | --mode sql के लिए स्केलर SELECT |
--delay | 2.0 | समय-आधारित oracle के लिए SLEEP() सेकंड |
--timeout | 25 | HTTP टाइमआउट |
--max-id | 15 | स्कैन करने के लिए उच्चतम उपयोगकर्ता ID |
--proxy / --insecure / --ua | — | HTTP प्रॉक्सी / TLS सत्यापन छोड़ें / कस्टम UA |
action=evosub_new_subscriber की तुलना एक अपंजीकृत action (0 / HTTP 400) से करता है।', ", \) → यदि SQL त्रुटियाँ प्रतिबिंबित होती हैं (WP_DEBUG), तो error-based oracle का उपयोग किया जाता है (सबसे तेज़, प्रति बिट एक अनुरोध);SLEEP() के साथ UNION कॉलम-गणना ब्रूट फ़ोर्स → union-time oracle (प्रति प्रोब एक मूल्यांकन, प्रति-पंक्ति कोई धीमापन नहीं);;SELECT SLEEP(...)) → यदि ड्राइवर मल्टी-स्टेटमेंट की अनुमति देता है तो stacked-time oracle;OR/AND/paren/concat SLEEP) → template-time oracle फ़ॉलबैक।1=1 → true और 1=0 → false (बार-बार) उत्तर देना अनिवार्य है, जो धीमे/अस्थिर लक्ष्यों से आने वाले गलत सकारात्मक परिणामों को फ़िल्टर करता है।LENGTH() और ASCII(SUBSTRING(...)) पर बाइनरी सर्च (प्रति अक्षर 7 अनुरोध)।--mode check डेटा एक्सेस सिद्ध करने के लिए user_login@USER() के सैनिटी निष्कर्षण के साथ समाप्त होता है।
evo-subscriber पोस्ट प्रकार में कुछ poc*@example.invalid प्रविष्टियाँ बन सकती हैं; वे Events → All Subscribers के अंतर्गत दिखाई देती हैं और उन्हें ट्रैश किया जा सकता है।email को सख्त फ़िल्टर से मान्य करता है, तो सभी प्रोब एक समान व्यवहार करते हैं और टूल not vulnerable / input validated रिपोर्ट करता है।admin-ajax.php वाले लक्ष्य (बेसलाइन पर fatal) अस्वस्थ के रूप में रिपोर्ट किए जाते हैं और निरस्त कर दिए जाते हैं।SELECT क्वेरी आकार (INSERT/UPDATE संदर्भ) पहचाने जाते हैं, लेकिन उनके लिए कोई कार्यशील time oracle न हो सकता है।--delay ≥ 1.0 रखें; बहुत छोटे विलंब उच्च-लेटेंसी लिंक पर गलत नकारात्मक परिणाम उत्पन्न करते हैं।email (और सभी अनुरोध इनपुट) को $wpdb->prepare() / esc_sql() के साथ संभालें; सर्वर-साइड पर is_email() से मान्य करें।admin-ajax.php अनुरोधों को ब्लॉक करें जिनके email मान में SQL मेटाकैरेक्टर (', ", \, --, ;, UNION) हों।केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है। सभी लागू कानूनों का पालन करने की ज़िम्मेदारी आपकी है।