ثغرة OpenSSL HollowByte الجديدة قد تسمح بتجميد جزء كبير من ذاكرة الخادم عبر طلب TLS صغير جدا، ما يرفع خطر تعطيل الخدمات إذا لم يصل التحديث الأمني.
ما هي ثغرة OpenSSL HollowByte؟
تكشف ثغرة OpenSSL HollowByte عن أسلوب هجوم يستهلك الذاكرة بطريقة غير معتادة، إذ يكفي إرسال 11 بايت فقط لإجبار الخادم غير المحدث على حجز مساحة قد تصل إلى 131 كيلوبايت لرسالة لا تصل أبدا.
المشكلة تظهر أثناء مرحلة TLS handshake، عندما يثق OpenSSL القديم بالقيمة التي يعلنها الطرف المهاجم داخل ترويسة الرسالة، قبل استلام جسم الرسالة الفعلي وقبل اكتمال التحقق الداخلي.
لماذا تعد هذه المشكلة خطيرة؟
الخطورة هنا لا تتعلق بعدد الاتصالات فقط، بل بتراكم الذاكرة المحجوزة داخل العملية نفسها. وهذا يعني أن الخادم قد يواصل استهلاك الذاكرة حتى بعد انتهاء الاتصال الخبيث، وهو ما يزيد خطر التباطؤ أو التوقف الكامل.
- حجم الطلب المبدئي: 11 بايت فقط
- الذاكرة المحجوزة لكل طلب: حتى 131 كيلوبايت
- مرحلة الاستهداف: TLS ClientHello
- نوع التأثير: حجب خدمة واستهلاك ذاكرة
كيف تؤدي ثغرة OpenSSL HollowByte إلى تجميد الذاكرة؟
عندما تصل ترويسة رسالة TLS، يقرأ OpenSSL طول الرسالة المعلن ويقوم بتوسيع المخزن المؤقت مباشرة إلى ذلك الحجم. بعدها ينتظر جسم الرسالة الذي لا يرسله المهاجم أساسا، فتظل خيوط المعالجة معلقة لفترة كافية لإرباك الخادم.
الأكثر إزعاجا أن الذاكرة قد لا تعود إلى النظام بسهولة بعد تحريرها. في بعض البيئات المبنية على glibc، يحتفظ المخصص بكتل الذاكرة الصغيرة والمتوسطة لإعادة استخدامها لاحقا بدل إرجاعها للنواة، ما يخلق تجزئة في الذاكرة ويزيد الاستهلاك الفعلي.
ما الذي يحدث بعد إسقاط الاتصال؟
نظريا يتم تحرير المخزن المؤقت بعد قطع الاتصال، لكن عمليا قد تبقى الذاكرة محجوزة داخل العملية. ووفق متابعة تيكبامين، هذا السلوك يجعل الهجوم أكثر إزعاجا من هجمات استنزاف الاتصالات التقليدية مثل Slowloris.
- تحرير الذاكرة لا يعني عودتها للنظام فورا
- تغيير الأحجام المعلنة يحد من إعادة استخدام الكتل
- تجزئة heap ترفع الاستهلاك المقيم للذاكرة
- الدفاعات التقليدية لتحديد عدد الاتصالات قد لا تكفي
ما هي إصدارات OpenSSL المتأثرة والمحدثة؟
الإصدارات التي حصلت على الإصلاح صدرت بتاريخ 9 يونيو وتشمل: 4.0.1 و3.6.3 و3.5.7 و3.4.6 و3.0.21. أي إصدار أقدم ضمن هذه الفروع قد يكون معرضا للمشكلة إذا لم يتلق التحديث.
اللافت أن الإصلاح مر دون رقم CVE معلن أو تنبيه أمني واضح، ما قد يجعل بعض فرق التشغيل تتأخر في رصده ضمن دورات التحديث المعتادة أو أدوات الفحص الآلي.
- OpenSSL 4.0.1
- OpenSSL 3.6.3
- OpenSSL 3.5.7
- OpenSSL 3.4.6
- OpenSSL 3.0.21
كيف تحمي خوادمك من ثغرة OpenSSL HollowByte؟
أفضل خطوة الآن هي التحديث الفوري إلى النسخ المصححة، ثم مراجعة سلوك استهلاك الذاكرة على الخوادم المكشوفة للإنترنت. كما يفضل اختبار الخدمات التي تعتمد على NGINX أو أي تطبيق يستخدم OpenSSL مباشرة.
في الخلاصة، تمثل ثغرة OpenSSL HollowByte تذكيرا مهما بأن أخطاء التخصيص قد تتحول إلى تهديد تشغيلي حقيقي حتى من دون استغلال معقد. لذلك تنصح تيكبامين مسؤولي الأنظمة بعدم انتظار تنبيه تقليدي، بل التحقق من نسخ OpenSSL المستخدمة فورا.