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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-1561 — CVE-2024-1561 - Gradio قراءة ملفات تعسفية | Kitploit
أدوات/GitHubGitHub/k3ystr0k3r/cve-2024-1561
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالتعلم والتعليم
GitHubk3ystr0k3r/cve-2024-1561

CVE-2024-1561

CVE-2024-1561 - Gradio قراءة ملفات تعسفية

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-1561 - قراءة ملفات تعسفية في Gradio

CVE-2024-1561 هي ثغرة قراءة ملفات تعسفية تؤثر على إصدارات Gradio الأقدم من 4.13.0. Gradio هو إطار عمل Python شهير يُستخدم لبناء واجهات ويب بسرعة لنماذج التعلم الآلي وتطبيقات الذكاء الاصطناعي.

توجد الثغرة لأن نقطة النهاية /component_server لا تقيّد بشكل صحيح أيّ من دوال الفئة الداخلية Component يمكن استدعاؤها. يمكن للمهاجم إساءة استخدام هذا السلوك لاستدعاء دوال لم يكن مقصودًا أبدًا كشفها عبر HTTP.

إحدى هذه الدوال، move_resource_to_block_cache، تسمح بنسخ ملف من نظام الملفات المحلي إلى دليل ذاكرة التخزين المؤقت المؤقتة في Gradio. وبمجرد نسخ الملف، يصبح متاحًا عبر نقطة النهاية /file، مما يسمح للمهاجم باسترجاع محتوياته.

على الرغم من أن الثغرة لا توفّر تنفيذًا مباشرًا للكود عن بُعد، إلا أنها يمكن أن تكشف ملفات حساسة من الخادم، ويمكن استغلالها لجمع بيانات الاعتماد وملفات الإعدادات ومفاتيح API والرموز المميزة أو معلومات أخرى مفيدة لهجمات لاحقة.


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

  • Gradio < 4.13.0

الإصدارات 4.13.0 وما بعدها تحتوي على الفحوصات الأمنية اللازمة لمنع استدعاء الدوال التعسفي.


السبب الجذري

تعود المشكلة إلى التحقق غير الكافي داخل نقطة النهاية /component_server.

بدلاً من تقييد الطلبات بقائمة آمنة من الدوال القابلة للاستدعاء، سمح Gradio للمهاجمين بتحديد أسماء دوال تعسفية تخص مثيل مكوّن.

ولأن الدالة الداخلية:

root@kitploit:~
move_resource_to_block_cache()

تقبل مسار نظام ملفات كمدخل، يمكن للمهاجم توجيه التطبيق لتخزين أي ملف قابل للقراءة على الخادم في ذاكرة التخزين المؤقت.

بمجرد تخزينه في الذاكرة المؤقتة، يُكشف الملف عبر وظيفة تقديم الملفات العادية في Gradio.


عملية الاستغلال

عادةً ما يتبع الهجوم الناجح الخطوات التالية:

  1. الاستعلام عن نقطة النهاية /config.
  2. الحصول على معرّف مكوّن صالح.
  3. إرسال طلب إلى /component_server.
  4. استدعاء الدالة move_resource_to_block_cache.
  5. توفير مسار ملف الهدف (على سبيل المثال /etc/passwd).
  6. استلام مسار ذاكرة التخزين المؤقتة المؤقتة في استجابة الخادم.
  7. تنزيل الملف المخزّن عبر نقطة النهاية /file.

تسمح هذه العملية باسترجاع أي ملفات يمكن لعملية Gradio قراءتها عن بُعد.


مثال على طلب

root@kitploit:~
POST /component_server HTTP/1.1
Host: target
Content-Type: application/json

{
    "component_id": "3",
    "data": "/etc/passwd",
    "fn_name": "move_resource_to_block_cache",
    "session_hash": "aaaaaaaaaaa"
}

في حال نجاح الطلب، يُرجع Gradio موقع الملف المخزّن مؤقتًا.

يمكن للمهاجم بعد ذلك طلب:

root@kitploit:~
GET /file=/tmp/gradio/<cached-file>/passwd HTTP/1.1
Host: target

لاسترجاع المحتويات.


الأثر الأمني

قد يسمح الاستغلال الناجح للمهاجم بقراءة ملفات حساسة بما في ذلك:

  • /etc/passwd
  • مفاتيح SSH الخاصة
  • ملفات البيئة (.env)
  • رموز API المميزة
  • بيانات اعتماد السحابة
  • ملفات إعدادات التطبيق
  • بيانات اعتماد قاعدة البيانات
  • الكود المصدري
  • أسرار المصادقة

يعتمد الأثر على صلاحيات تطبيق Gradio.


التخفيف

لمعالجة هذه الثغرة:

  • قم بترقية Gradio إلى 4.13.0 أو أحدث.
  • تجنّب كشف تطبيقات Gradio مباشرة على الإنترنت العام.
  • اشترط المصادقة كلما أمكن ذلك.
  • قيّد الوصول باستخدام وكيل عكسي أو جدار حماية.
  • شغّل Gradio بأقل الصلاحيات اللازمة.
  • تجنّب تخزين بيانات الاعتماد الحساسة في مواقع يمكن لعملية التطبيق الوصول إليها.

المراجع

  • CVE: https://nvd.nist.gov/vuln/detail/CVE-2024-1561
  • التصحيح: https://github.com/gradio-app/gradio/pull/6884

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

هذا المستودع مُقدَّم لأغراض تعليمية وللبحث الأمني ولاختبار الاختراق المصرّح به فقط. احصل دائمًا على إذن صريح قبل اختبار أنظمة لا تملكها أو ليس لديك تفويض لتقييمها.

تنزيل الأداة