Sploitus

Exploit for CVE-2026-4883 CVE-2026-4883 CVE-2026-4885

kitploit · 2026-08-24

Exploit Code

MARKDOWN126 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-XSHADOW-HERE-CVE-2026-4883
# CVE-2026-4883: Piotnet Forms Pro <= 2.1.40 - رفع ملف تعسفي غير مصادق → RCE

ينشأ الثغر من التحقق غير الكافي من نوع الملف في دالة `piotnetforms_ajax_form_builder`. يستخدم الإضافة قائمة سوداء غير مكتملة للملحقات تحظر فقط `php`، `phpt`، `php5`، `php7`، و `exe` مع السماح بدائل خطيرة مثل `.phtml` أو `.phar`.

## تفاصيل الثغرة

  * **درجة CVSS:** 9.8 (حرجة)
  * **المتجه:** CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  * **الإصدارات المتأثرة:** <= 2.1.40
  * **حالة التصحيح:** لا يوجد تصحيح متاح
  * **تاريخ النشر:** 18 مايو 2026
  * **الباحثون:** Shadow & Friska (مؤلفو إثبات المفهوم)



## تحليل السبب الجذري

تم تسجيل معالج AJAX دون أي شرط مصادقة:

root@kitploit:~
    
    
    // inc/forms/ajax-form-builder.php:9-10
    add_action( 'wp_ajax_piotnetforms_ajax_form_builder', 'piotnetforms_ajax_form_builder' );
    add_action( 'wp_ajax_nopriv_piotnetforms_ajax_form_builder', 'piotnetforms_ajax_form_builder' );
    

يعتمد التحقق من الملف فقط على قائمة سوداء غير مكتملة للملحقات دون التحقق من نوع MIME أو البايتات السحرية:

root@kitploit:~
    
    
    // inc/forms/ajax-form-builder.php:678-688
    $not_allowed_extensions = [ 'php', 'phpt', 'php5', 'php7', 'exe' ];
    
    $file_extension = pathinfo( $file_name_san, PATHINFO_EXTENSION );
    
    if ( in_array( strtolower( $file_extension ), $not_allowed_extensions ) ) {
        wp_die();
    }
    
    // .phar, .phtml, .php8, .pht, etc. all pass through freely
    move_uploaded_file( $file['tmp_name'][$i], $new_file );
    

يحتوي دليل الرفع فقط على `index.html` فارغ لمنع سرد الدليل — لا يوجد `.htaccess` لمنع تنفيذ PHP. تصبح الملفات المرفوعة متاحة للجمهور في:

root@kitploit:~
    
    
    /wp-content/uploads/piotnetforms/files/{filename}-{uniqid}.{ext}
    

يمكن استرداد رابط الملف بدون مصادقة عبر إجراء AJAX `piotnetforms_export_form_submission` (أيضًا `nopriv`)، مما يكمل سلسلة RCE غير المصادقة بالكامل.

هذا هو نفس خطأ النسخ واللصق الموجود في CVE-2026-4885 — يشترك كلا الإضافات في نفس كود معالجة الرفع الضعيف من نفس المطور.

## تعليمات الاستخدام

**الوضع التفاعلي:**

root@kitploit:~
    
    
    python3 shadow.py
    

**هدف واحد:**

root@kitploit:~
    
    
    python3 shadow.py -u https://target.com
    python3 shadow.py -u https://target.com -s shadow.phtml
    

**مسح جماعي:**

root@kitploit:~
    
    
    python3 shadow.py -f targets.txt -t 20
    python3 shadow.py -f targets.txt -t 20 -s shadow.phtml
    

**خيارات سطر الأوامر:**

  * `-u, --url` \- رابط الهدف
  * `-f, --file` \- ملف الأهداف (واحد لكل سطر)
  * `-s, --shell` \- شيل PHP مخصص (يتم إضافة GIF89a تلقائيًا)
  * `-t, --threads` \- الخيوط المتزامنة (الافتراضي: 5)
  * `-h, --help` \- عرض المساعدة



## الميزات الرئيسية

  * قائمة تفاعلية للفحص الفردي أو الجماعي
  * استطلاع متوازي غير متزامن
  * اكتشاف تلقائي لمعاملات النموذج من المدخلات المخفية في HTML
  * بايتات سحرية متعددة اللغات GIF89a لمحاولات التجاوز
  * تسرب الرابط عبر `piotnetforms_export_form_submission` (غير مصادق)
  * التحقق من رفع الشيل مع فحوصات تنفيذ PHP
  * حفظ النتائج في `shell.txt`
  * خيوط قابلة للتكوين للعمليات الجماعية



## الملحقات المحظورة

`.php` `.phpt` `.php5` `.php7` `.exe`

**ملحقات التجاوز:** `.phtml` `.phar` `.shtml` `.php8`

## المتطلبات

root@kitploit:~
    
    
    pip install httpx
    

## إخلاء مسؤولية

الأداة مخصصة حصريًا لاختبار الأمان المصرح به والأغراض التعليمية. اختبار الأنظمة غير المصرح به محظور.