تنبيه الأمان
| الخطورة: | مرتفع |
| التصنيف: | تنفيذ تعسفي لقانون من قبل المستخدمين المميزين |
| المشاريع المتضررة: | منصة edx |
| مراسل: | مدقق أمان الطرف الثالث |
| URL الدائم: | https://openedx.org/CVE-2015-5601 |
أثناء تدقيق أمني مجدول لجهة خارجية لرمز النظام الأساسي edx ، تم اكتشاف أن خطأً سمح لفئات معينة من المستخدمين المتميزين بتنفيذ تعليمات برمجية عشوائية كمستخدم للعملية قيد التشغيل.
نقاط الضعف والتعرض الشائعة (CVE) قام المشروع بتعيين اسم CVE-2015-5601 لهذه المشكلة. هذا هو الدخول على CVE قائمة (http://CVE.mitre.org) ، الذي يوحد الأسماء لمشاكل الأمان.
مزيد من المعلومات
تكمن المشكلة في نقطة نهاية استيراد الدورة التدريبية ، والتي تقبل تحميل ملف .tar.gz. من الممكن إنشاء ملف tar يستخرج الملفات الموجودة ضمن دليل النظام الأساسي edx ، بدلاً من الدليل المؤقت الذي ينوي التطبيق استخدامه (انظر أدناه للحصول على التفاصيل). نظرًا لوجود أدلة فرعية لـ edx-platform في مسار مكتبة Python ، ستبحث عبارات "import foo" عن "foo.py" في هذه الأدلة. يمكن للمهاجم تحميل ملف python مسمى بشكل مناسب إلى أحد هذه الأدلة ، وفي المرة التالية التي تتم فيها إعادة تشغيل التطبيق ، سيتم استيراده وتشغيله.
القضية الأساسية في معالجة ملف القطران. يحرص التطبيق على عدم السماح بالملفات والروابط الرمزية التي تستخدم اجتيازًا تصاعديًا أو مسارات مطلقة للإشارة إلى خارج دليل الاستخراج. ومع ذلك ، فإن عمليات التحقق هذه ، في "extract_tar.py" ، تفترض بشكل غير صحيح أن دليل الاستخراج هو "." ، والذي ينتقل إلى "/ edx / app / edxapp / edx-platform" ؛ يجب عليهم استخدام دليل الاستخراج الفعلي بدلاً من ذلك.
يحدث الاستخراج الفعلي في دليل فرعي خاص بالدورة التدريبية "/ edx / var / edxapp / data" ، ولكن يمكن إنشاء روابط الرموز التي تشير إلى أدلة فرعية لـ "منصة edx" ، ويمكن استخراج الملفات اللاحقة إليها.
تم إصلاح الخلل في هذا ارتكب.
![]()