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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-10952-ml-logger-AFR — إثبات المفهوم (PoC) لـ CVE-2025-10952 — قراءة ملفات تعسفية غير مصادق عليها في ml-logger. درجة CVSS 5.3 | Kitploit
أدوات/GitHubGitHub/khashayarnzk/cve-2025-10952-ml-logger-afr
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراق
GitHubkhashayarnzk/cve-2025-10952-ml-logger-afr

CVE-2025-10952-ml-logger-AFR

إثبات المفهوم (PoC) لـ CVE-2025-10952 — قراءة ملفات تعسفية غير مصادق عليها في ml-logger. درجة CVSS 5.3

عرض المستودع
منذ 9س 44دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-10952 — قراءة ملفات عشوائية في stream_handler الخاص بـ ml-logger

يوفر هذا المستودع سكربت Python مستقل — CVE-2025-10952.py — يستغل ثغرة قراءة ملفات عشوائية غير مصادق عليها في stream_handler الخاص بـ ml-logger، مقترنة بنقطة النهاية /glob لتعداد نظام الملفات.

عند تشغيله ضد نسخة ml-logger معرضة للخطر، سيقوم السكربت بما يلي:

  • تعداد الملفات على المضيف الهدف عبر نقطة النهاية /glob (بدون مصادقة، بدون تقييد للمسار خارج النطاق المقصود).
  • قراءة ملف عشوائي عبر نقطة النهاية /stream عن طريق توفير معامل key مصمم بعناية يخرج عن منطق دمج المسار الأساسي للمعالج.
  • حفظ الملف المسترجع على القرص اختياريًا لاستخدامه لاحقًا (مثل مفتاح SSH خاص تم استخراجه).
  • نظرًا لأن stream_handler يمرر حقل key المقدم من العميل مباشرةً إلى استدعاء حل مسار الملف وبثّه دون أي فحص احتواء، يمكن لمهاجم شبكة غير مصادق عليه قراءة أي ملف يمكن الوصول إليه بواسطة مستخدم نظام التشغيل الذي تعمل به الخدمة.

    تفاصيل الثغرة (CVE-2025-10952)

    • المكوّن: ml_logger/server.py — stream_handler (معالج الملفات)
    • نوع الضعف: CWE-200 (كشف معلومات حساسة لجهة غير مصرح لها)، CWE-284 (تحكم غير صحيح في الوصول)
    • CVSS 3.1: 5.3 (متوسطة) — AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    • الإصدارات المتأثرة: geyang/ml-logger، جميع الإصدارات حتى الالتزام acf255bade5be6ad88d90735c8367b28cbe3a743 (مشروع بإصدارات متجددة؛ لم يُنشر إصدار مُصلَح وقت الإفصاح)
    • الوصول المطلوب: لا شيء (بدون مصادقة)

    يقبل stream_handler نص JSON يحتوي على حقل key ويمرره مباشرةً إلى استدعاء قراءة ملف دون أي تنقية للمسار. نقطة النهاية الشقيقة glob_handler تطبّق قيودًا جزئية على المسار (تمنع المسارات المطلقة والتنقل بين المجلدات)، لكن stream_handler لا يشاركها هذا التحقق — شرطة مائلة مزدوجة في بداية key (مثل //root/.ssh/id_rsa) كافية للخروج عن الدليل الأساسي المقصود.

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

    • Python 3.8+
    • وصول شبكي إلى نسخة ml-logger API معرضة للخطر
    • لا حاجة لأي بيانات اعتماد من أي نوع

    الإعداد والتثبيت

    root@kitploit:~
    git clone https://github.com/Khashayarnzk/CVE-2025-10952-ml-logger-AFR.git
    cd CVE-2025-10952-ml-logger-AFR
    pip install -r requirements.txt
    

    الاستخدام

    تعداد الملفات:

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --glob "/etc/*"
    

    قراءة ملف عشوائي:

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa"
    

    قراءة وحفظ على القرص:

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa" --out id_rsa_root
    chmod 600 id_rsa_root
    ssh -i id_rsa_root -o StrictHostKeyChecking=no root@TARGET
    

    القيمة الافتراضية لـ --port هي 8081، وهو المنفذ الافتراضي لواجهة برمجة تطبيقات وسيط الملفات في ml-logger في النشر القياسي. عادةً ما تُقدَّم واجهة لوحة التحكم الأمامية على منفذ منفصل ولا تشكل جزءًا من المسار المعرض للخطر.

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

    1. تأكد من أن نقطة النهاية /glob على الهدف تستجيب بـ 405 Method Not Allowed مع Allow: POST — وهذا يحدد منفذ API مقارنةً بواجهة لوحة التحكم الثابتة.
    2. عدّد المسارات القابلة للوصول باستخدام --glob لرسم خريطة الملفات المهمة (مفاتيح SSH، ملفات الإعدادات، مخازن بيانات الاعتماد).
    3. استرجع ملفًا مستهدفًا باستخدام --read، مع استخدام شرطة مائلة مزدوجة في البداية للمسارات المطلقة.
    4. إذا كان الملف مفتاحًا خاصًا، استخدمه مباشرةً للمصادقة (انظر الاستخدام أعلاه).

    الاكتشاف والتخفيف

    • الشبكة: التنبيه على حقول JSON بنمط key/path التي تحتوي على ..، أو شرطات مائلة مزدوجة في البداية (//)، أو بادئات مسارات مطلقة (/etc، /root، /proc) موجهة إلى منافذ خدمة ml-logger.
    • المضيف: يجب أن تُعلِّم مراقبة سلامة الملفات أو مراقبة الوصول على ~/.ssh/، /etc/shadow، /etc/passwd على عمليات القراءة القادمة من هوية عملية ml-logger.
    • التعرض: لا تعرِّض ml-logger أبدًا لشبكة غير موثوقة دون وجود وكيل عكسي للمصادقة أمامه.
    • المعالجة: فرض احتواء المسار (تحقق من os.path.realpath() مقابل دليل أساسي مدرج في القائمة البيضاء) في stream_handler؛ وشغّل الخدمة تحت حساب نظام تشغيل مخصص وغير مميز.

    المراجع

    • NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-10952
    • GitHub Advisory: https://github.com/advisories/GHSA-9x36-c74v-fgr6
    • التقرير الأصلي: https://github.com/geyang/ml-logger/issues/74
    • المشروع: https://github.com/geyang/ml-logger

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

    يحتوي هذا المستودع على استغلال إثبات مفهوم لثغرة CVE-2025-10952، وهي ثغرة كشف معلومات غير مصادق عليها في ml-logger. استخدم هذا الكود فقط في البيئات التي تملكها أو لديك إذن صريح لاختبارها. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج.

    الترخيص

    انظر LICENSE.

    تنزيل الأداة