
ثغرة اجتياز المسار في NitroShare v0.3.4
NitroShare Desktop v0.3.4 يحتوي على ثغرة اجتياز المسار في خادم نقل الملفات عبر الشبكة المحلية (LAN). يستمع الخادم على جميع واجهات الشبكة (المنفذ 40818) دون مصادقة. عند استلام الملفات، يتم تمرير حقل name من رأس عنصر JSON الخاص بالمرسل دون التحقق من أن المسار المُحلَّل يبقى داخل دليل النقل الجذري، C:\UserName\Downloads\NitroShare. يمكن للمهاجم الموجود على نفس الشبكة المحلية إرسال اسم ملف مصمم يحتوي على تسلسلات ../ (هجوم النقطة-النقطة-شرطة مائلة الكلاسيكي) لكتابة ملفات في أي مكان يملك المستخدم الحالي صلاحية الوصول إليه، بما في ذلك مجلد بدء التشغيل في Windows لتنفيذ الكود عند تسجيل الدخول التالي (ومن هنا تم إنشاء الإثبات المفاهيمي PoC). لا يتطلب الأمر أي تفاعل من المستخدم. بالإضافة إلى ذلك، تم تعطيل TLS افتراضيًا (طريقة المصادقة التي يقدمها التطبيق)، مما يعني أنه لا يلزم مصادقة بشكل افتراضي، وهو ما أعتقد أن معظم المستخدمين سيفعلونه استنادًا إلى سنوات من العمل في تقنية المعلومات وأمن المعلومات.
{"name":"attacker","size":"<n>","count":"1"}.{"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()، تحقق من أن النتيجة تبدأ بدليل النقل الجذري قبل المتابعة.