
CVE-2020-8809 و CVE-2020-8810
Gurux GXDLMS Director هو برنامج مفتوح المصدر لنظام Windows للتفاعل مع عدادات الطاقة باستخدام بروتوكول DLMS/COSEM.
يحتوي البرنامج على وظيفة تحديث عن بُعد للإضافات DLL وكذلك للملفات التي تحتوي على رموز OBIS (تعريفات خاصة بالجهاز مطلوبة للتفاعل مع العدادات الذكية).
| CVEID | اسم المنتج (المنتجات) المتأثرة والإصدارات | نوع المشكلة |
|---|---|---|
| CVE-2020-8809 | Gurux GXDLMS Director (all versions prior to 8.5.1905.1301) | CWE-494: Download of Code Without Integrity Check |
| CVE-2020-8810 | Gurux GXDLMS Director (all versions) | CWE-23: Relative Path Traversal |
الملخص
جميع إصدارات Gurux GXDLMS Director قبل 8.5.1905.1301 تحتوي على آلية تحديث للإضافات ورموز OBIS تعمل عبر اتصال HTTP غير مشفر. بالإضافة إلى ذلك، تحتوي جميع الإصدارات على ثغرة اجتياز المسار (path traversal) التي تحدث عند تنزيل رموز OBIS. يمكن للمهاجم استخدام هذه الثغرات لتحقيق تنفيذ التعليمات البرمجية.
الوصف
يمكن للمهاجم الوسيط (مثل مشغل شبكة Wi-Fi ضار) أن يدفع المستخدم لتنزيل التحديثات عن طريق تعديل محتويات gurux.fi/obis/files.xml و gurux.fi/updates/updates.xml. ثم يمكن للمهاجم تعديل محتويات الملفات التي تم تنزيلها. في حالة الإضافات (إذا كان المستخدم يستخدمها)، سيؤدي ذلك إلى تنفيذ التعليمات البرمجية. في حالة رموز OBIS (التي يستخدمها المستخدم دائمًا لأنها مطلوبة للتواصل مع عدادات الطاقة)، يمكن للمهاجم تحقيق تنفيذ التعليمات البرمجية عن طريق استغلال ثغرة اجتياز المسار.
عند تنزيل رموز OBIS، لا يتحقق البرنامج من أن الملفات التي تم تنزيلها هي رموز OBIS فعلية ولا يفحص اجتياز المسار. وهذا يسمح للمهاجم بإرسال ملفات قابلة للتنفيذ ووضعها في دليل التشغيل التلقائي (تعمل بعد إعادة التشغيل)، أو وضع ملفات DLL داخل تثبيت GXDLMS Director الحالي (تعمل عند التشغيل التالي لـ GXDLMS Director). يمكن استخدام هذا لتحقيق تنفيذ التعليمات البرمجية حتى إذا لم يكن لدى المستخدم أي إضافات مثبتة.
إعادة الإنتاج
obis.obis/files.xml بالمحتويات التالية:<files>
<file modified=”28-09-2099″ name=”Iskraemeco”>../../../../../../../../../../Users/Public/Documents/test.txt</file>
</files>
Users/Public/Documents.Users/Public/Documents/test.txt.C:\Windows\system32\drivers\etc\hosts وأضف السطر التالي إليه: 127.0.0.1 gurux.fi (إذا كان خادم HTTP الخاص بك ليس هو نفسه جهاز Windows الخاص بك، استبدل 127.0.0.1 بعنوان IP الخاص بالخادم).C:\Users\Public\Documents\ يحتوي الآن على الملف test.txt.الإصلاح
قم بتحديث Gurux GXDLMS Director إلى أحدث إصدار.