
NotCVE-2026-0009 — Updated!
ثغرة اجتياز المسار في NitroShare v0.3.4
ثغرة اجتياز المسار في nitroshare
الوصف
NitroShare Desktop v0.3.4 يحتوي على ثغرة اجتياز المسار في خادم نقل الملفات عبر الشبكة المحلية (LAN). يستمع الخادم على جميع واجهات الشبكة (المنفذ 40818) دون مصادقة. عند استلام الملفات، يتم تمرير حقل name من رأس عنصر JSON الخاص بالمرسل دون التحقق من أن المسار المُحلَّل يبقى داخل دليل النقل الجذري، C:\UserName\Downloads\NitroShare. يمكن للمهاجم الموجود على نفس الشبكة المحلية إرسال اسم ملف مصمم يحتوي على تسلسلات ../ (هجوم النقطة-النقطة-شرطة مائلة الكلاسيكي) لكتابة ملفات في أي مكان يملك المستخدم الحالي صلاحية الوصول إليه، بما في ذلك مجلد بدء التشغيل في Windows لتنفيذ الكود عند تسجيل الدخول التالي (ومن هنا تم إنشاء الإثبات المفاهيمي PoC). لا يتطلب الأمر أي تفاعل من المستخدم. بالإضافة إلى ذلك، تم تعطيل TLS افتراضيًا (طريقة المصادقة التي يقدمها التطبيق)، مما يعني أنه لا يلزم مصادقة بشكل افتراضي، وهو ما أعتقد أن معظم المستخدمين سيفعلونه استنادًا إلى سنوات من العمل في تقنية المعلومات وأمن المعلومات.
خطوات إعادة الإنتاج
- الاتصال بخادم نقل NitroShare على منفذ TCP 40818 من الشبكة المحلية.
- إرسال حزمة رأس نقل JSON:
{"name":"attacker","size":"<n>","count":"1"}. - إرسال حزمة رأس عنصر JSON مع اسم ملف اجتياز المسار:
{"name":"../../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/payload.exe","directory":false,"created":"0","last_modified":"0","last_read":"0","size":"<n>"} - إرسال حزمة (حزم) ثنائية تحتوي على محتوى الملف الخبيث.
- تتم كتابة الملف خارج دليل التنزيل إلى المسار الذي يختاره المهاجم.
- إذا كان الهدف هو مجلد بدء التشغيل، فسيتم تنفيذ الحمولة تلقائيًا عند تسجيل دخول المستخدم التالي.
تم توفير إثبات مفاهيمي عملي (poc_path_traversal_via_lan_transfer___arbitrary_file_w.py) وتم التحقق منه ضد NitroShare 0.3.4 على Windows.
المعالجة المقترحة
- تعقيم أسماء الملفات المستلمة — قم بإزالة أو رفض فواصل المسار (
/,\) وتسلسلات... بعد التحليل باستخدامQDir::absoluteFilePath()، تحقق من أن النتيجة تبدأ بدليل النقل الجذري قبل المتابعة. - طلب كلمة مرور أو تفعيل TLS افتراضيًا — قم بتوفير التطبيق مع تفعيل TLS وإنشاء شهادات تلقائيًا عند أول تشغيل، أو أنشئ خيارًا لكلمة مرور.
- إضافة مطالبة بالموافقة على النقل — اطلب من المستخدم التأكيد قبل كتابة الملفات المستلمة على القرص.
- تنفيذ المصادقة — اشترط آلية اقتران (سر مشترك، رمز QR، أو تبادل الشهادات) قبل قبول عمليات النقل.
الجدول الزمني للإفصاح
- 13 أبريل 2026 - تم التواصل مع المطور عبر البريد الإلكتروني المنشور في مستودع Github. لا رد.
- 19 أبريل 2026 - المحاولة الثانية. لا رد.
- 3 مايو 2026 - المحاولة الثالثة. لا رد.
- 22 يوليو 2026 - تم تعيين NotCVE-2026-0009
- 28 يوليو 2026 - تم تعيين CVE-2026-66050