
CVE 2022-45299
#المكتبة المتأثرة:
webbrowser.rs قبل الإصدار 0.8.3 https://github.com/amodm/webbrowser-rs
#الملخص:
تفشل المكتبة في التحقق من أن الإدخال المقدم هو في الواقع عنوان URL. وبالتالي، يمكن للمهاجم الذي يتحكم في عنوان URL غير مفلتر يتم تمريره إلى webbrowser::open(URL) توفير مسار ملف محلي سيتم فتحه في المستكشف الافتراضي أو تمرير وسيطة واحدة إلى أمر open الأساسي لتنفيذ أوامر نظام مسجلة عشوائية.
#التفاصيل:
تقوم webbrowser::open داخلياً باستدعاء shellExecuteW مع تمرير عنوان URL كوسيطة للأمر open في نظام ويندوز. على ويندوز، يتحكم المهاجم في وسيطة lpFile الخاصة بـ shellExecuteW مما قد يسمح بفتح ملفات محلية عشوائية.
إذا تمكن المهاجم من تمرير عنوان URL هو في الواقع مفتاح سطر أوامر للأمر open، فقد يتمكن من تشغيل أوامر عشوائية (أو القيام بأي شيء يسمح به الأمر open باستخدام وسيطة واحدة). على سبيل المثال، webbrowser::open(".") سيفتح Finder في دليل العمل الحالي. كما يمكنك تنفيذ نصوص بايثون بمجرد توفير المسار إلى السكربت وتمكنت من فعل ذلك مع أي لغة أخرى مترجمة أو برمجية نصية. لم أتمكن من إعادة إنتاج المشكلة على لينوكس ولكن يمكن تحميل ملفات محلية مثل /etc/passwd بمجرد توفير المسار إلى الملف.
#الكود الضعيف:

#POC:
