رئيس مجلس الإدارة: أحمد همام
|
رئيس التحرير: عادل البكل
العربية
تكنولوجيا

ثغرة HollowByte في OpenSSL تسبب تجميد الذاكرة

ثغرة HollowByte في OpenSSL تسبب تجميد الذاكرة

كتب: كريم همام

تمكن الباحثون من اكتشاف ثغرة جديدة في نظام OpenSSL تُعرف باسم HollowByte، حيث تؤدي هذه الثغرة إلى تخصيص خادم OpenSSL غير المحدث ما يصل إلى 131 كيلوبايت من الذاكرة لرسالة لم تصل أبدًا. وقد أكدت الاختبارات التي أجراها فريق Okta على أن هذه الذاكرة تبقى محجوزة حتى يتم إعادة تشغيل العملية.
في يونيو الماضي، قامت OpenSSL بإصدار تحديث لسد هذه الثغرة، لكن الأمر لم يتضمن أي CVE (رقم تعريف الثغرات)، أو إشعار رسمي، أو أي إدخال في سجل التغييرات يشير إلى ذلك. وقد أعلن فريق Red Team التابع لـ Okta عن اكتشاف هذه الثغرة، مشيرًا إلى تفاصيلها يوم الخميس.

الإصدارات المتأثرة والمحدثة

تشمل الإصدارات التي تم إصلاحها من OpenSSL كل من 4.0.1 و3.6.3 و3.5.7 و3.4.6 و3.0.21، وجميعها صدرت في 9 يونيو. ولكن الإصدارات السابقة من هذه الفروع لم تحل المشكلة. وعليه، فإن النظام لا يتيح للعوامل العادية الكشف عن الثغرة، حيث أنه لا يوجد معرف يمكن لماسح ضوئي التحقق منه، وذلك نظرًا لعدم توفر أي إشعار رسمي.

آلية عمل الثغرة

تكمن خطورة ثغرة HollowByte في أنه يُبسَط المهاجم لـ OpenSSL بمعلومات مضللة حول حجم الرسالة المرسلة. كل رسالةHandshake لتشفير TLS تحتوي على رأس بحجم 4 بايت، حيث تُظهر ثلاثة بايتات منها طول الجسم. في الإصدارات القديمة، يتم زيادة حجم ذاكرة الاستقبال وفقًا للطول المُعلن عندما تصل الرأس، وقبل أن تظهر أي بايت من الجسم. بالنسبة لرسالة ClientHello الواردة، الحد الأقصى هو 131 كيلوبايت. وبعد ذلك، يبقى الخيط العامل معلقًا في انتظار جسم الرسالة التي لم تأتِ أبدًا.

نتائج الاختبارات على الأنظمة

أظهرت اختبارات Okta باستخدام خادم NGINX أن الخادم الذي يحمل سعة 1 جيجابايت قد تعرض للقتل نتيجة تجاوز الذاكرة بسبب تجمد 547 ميجابايت من الذاكرة. بينما في خادم بسعة 16 جيجابايت، تم تجميد 25% من الذاكرة النظامية دون تجاوز الحد المسموح به للاتصالات. يوضح فريق Red Team أن “الدفاعات العادية ضد تحديد الاتصالات لن تتمكن من إيقاف هذا الهجوم”.

إدارة الثغرات

رغم خطورة الثغرة، تصف OpenSSL هذا الأمر بأنه “إصلاح عادي أو تعزيز” فقط. وقد تم تصنيف سياسة الأمن الخاصة بها إلى أربعة مستويات من الخطورة، لكن “الإصلاح العادي” لا يقع تحت أي من هذه الفئات. الثغرات الكبرى عادة ما تحصل على CVE وإشعارات رسمية، ولكن لم يتم الإشارة إلى HollowByte بأي من هذه الطرق.

أسئلة مفتوحة

طرحت Hacker News تساؤلات على OpenSSL حول سبب تصنيف HollowByte دون مستوى منخفض، ومدى وصول الإصلاح إلى الإصدارات ذات الدعم الممتد، مثل 1.1.1 و1.0.2. وقد تم الاستفسار أيضًا عن ما إذا كان تفتت الذاكرة يمكن أن يستمر مع محولات أخرى غير glibc.
لا تزال تفاصيل هذا الهجوم جديدة، ولم يتم إيجاد إثبات مفهومي عام لهذه الثغرة على GitHub حتى الآن، مما يثير تساؤلات حول مدى تأثيرها في المجتمع التقني.

يمكنك قراءة المزيد في المصدر.

لمزيد من التفاصيل اضغط هنا.