ثغرة أمنية في البرامج الثابتة AMI MegaRAC بسبب شحن إصدار قديم من lighttpd

تم التعرف على ثغرة أمنية في البرامج الثابتة MegaRAC من American Megatrends (AMI)، والتي يتم استخدامها في وحدات تحكم BMC (Baseboard Management Controller) التي تستخدمها الشركات المصنعة للخوادم لتنظيم إدارة المعدات المستقلة، مما يسمح لمهاجم غير مصادق بقراءة محتويات ذاكرة الجهاز عن بعد. العملية التي توفر عمل واجهة الويب. تظهر الثغرة الأمنية في البرامج الثابتة التي تم إصدارها منذ عام 2019، وهي ناجمة عن شحن إصدار قديم من خادم Lighttpd HTTP يحتوي على ثغرة أمنية لم يتم إصلاحها.

في قاعدة بيانات Lighttpd، تم إصلاح هذه الثغرة الأمنية مرة أخرى في عام 2018 في الإصدار 1.4.51، ولكن تم إجراء الإصلاح دون تعيين معرف CVE ودون نشر تقرير يصف طبيعة الثغرة الأمنية. ذكرت مذكرة الإصدار إصلاحات أمنية، ولكنها ركزت على ثغرة أمنية في mod_userdir تتضمن استخدام الحرفين ".." في اسم المستخدم.

ذكرت قائمة التغييرات أيضًا مشكلة في معالجة رؤوس HTTP، ولكن تم تجاهل هذا الإصلاح من قبل مطوري البرامج الثابتة ولم يتم نقله إلى المنتج، نظرًا لأن الملاحظة المتعلقة بالإزالة المحتملة لثغرة فئة الاستخدام بعد الاستخدام المجاني كانت موجودة فقط في نص الالتزام، وفي القائمة العامة لم يتم إجراء أي تغييرات للإشارة إلى أن الخطأ يؤدي إلى الوصول إلى الذاكرة بعد الحرة.

تسمح الثغرة الأمنية بقراءة محتويات الذاكرة خارج المخزن المؤقت المخصص. سبب المشكلة هو وجود خطأ في رمز دمج رأس HTTP المستخدم عند تحديد مثيلات متعددة لرأس HTTP "If-Modified-Since". عند معالجة المثيل الثاني للرأس، خصص Lighttpd مخزنًا مؤقتًا جديدًا للاحتفاظ بالقيمة المدمجة وتحرير الذاكرة للمخزن المؤقت الذي يحتوي على القيمة من الرأس الأول. في هذه الحالة، لم يتغير مؤشر con->request.http_if_modified_since واستمر في الإشارة إلى منطقة الذاكرة التي تم تحريرها بالفعل.

وبما أن هذا المؤشر تم استخدامه في عمليات مقارنة محتويات رأس If-Modified-Since، والتي أدت نتيجتها إلى إنشاء رموز إرجاع مختلفة، فقد تمكن المهاجم، بالقوة الغاشمة، من تخمين المحتويات الجديدة للذاكرة التي كانت موجودة سابقًا. المحتلة من قبل المخزن المؤقت الأول. يمكن استخدام هذه المشكلة مع نقاط الضعف الأخرى، على سبيل المثال لتحديد تخطيط الذاكرة لتجاوز آليات الأمان مثل ASLR (التوزيع العشوائي لمساحة العنوان).

تم تأكيد وجود الثغرة الأمنية في منصات خادم Lenovo وIntel، لكن هذه الشركات لا تخطط لإصدار تحديثات البرامج الثابتة بسبب انتهاء وقت الدعم للمنتجات التي تستخدم هذه البرامج الثابتة وانخفاض مستوى خطورة الثغرة الأمنية. تتجلى المشكلة في البرامج الثابتة لمنصات Intel M70KLP وLenovo HX3710 وHX3710-F وHX2710-E (توجد الثغرة الأمنية، من بين أشياء أخرى، في أحدث إصدارات البرامج الثابتة Lenovo 2.88.58 وIntel 01.04.0030). بالإضافة إلى ذلك، تم الإبلاغ عن أن الثغرة الأمنية في lighttpd تظهر أيضًا في البرامج الثابتة الخاصة بمعدات Supermicro وفي الخوادم التي تستخدم وحدات تحكم BMC من Duluth وAETN.

المصدر: opennet.ru

إضافة تعليق