يتم استغلال تجاوز سعة المخزن المؤقت في OpenSSL عند التحقق من شهادات X.509

تم نشر إصدار تصحيحي لمكتبة التشفير OpenSSL 3.0.7، والذي يعمل على إصلاح اثنتين من نقاط الضعف. ترجع كلتا المشكلتين إلى تجاوزات المخزن المؤقت في رمز التحقق من صحة حقل البريد الإلكتروني في شهادات X.509 ويمكن أن تؤدي إلى تنفيذ التعليمات البرمجية عند معالجة شهادة ذات إطار خاص. في وقت نشر الإصلاح، لم يسجل مطورو OpenSSL أي دليل على وجود استغلال يمكن أن يؤدي إلى تنفيذ تعليمات المهاجم البرمجية.

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

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

تم تحديد القضايا:

  • CVE-2022-3602 - تؤدي الثغرة الأمنية، التي تم تقديمها في البداية على أنها حرجة، إلى تجاوز سعة المخزن المؤقت بمقدار 4 بايت عند التحقق من حقل باستخدام عنوان بريد إلكتروني مصمم خصيصًا في شهادة X.509. في عميل TLS، يمكن استغلال الثغرة الأمنية عند الاتصال بخادم يتحكم فيه المهاجم. على خادم TLS، يمكن استغلال الثغرة الأمنية في حالة استخدام مصادقة العميل باستخدام الشهادات. وفي هذه الحالة تظهر الثغرة الأمنية في مرحلة ما بعد التحقق من سلسلة الثقة المرتبطة بالشهادة، أي: يتطلب الهجوم أن تتحقق سلطة التصديق من الشهادة الضارة للمهاجم.
  • يعد CVE-2022-3786 ناقلًا آخر لاستغلال الثغرة الأمنية CVE-2022-3602، والتي تم تحديدها أثناء تحليل المشكلة. تتلخص الاختلافات في إمكانية تجاوز المخزن المؤقت على المكدس بعدد عشوائي من البايتات التي تحتوي على "." (أي لا يستطيع المهاجم التحكم في محتويات التجاوز ولا يمكن استخدام المشكلة إلا للتسبب في تعطل التطبيق).

تظهر الثغرات الأمنية فقط في فرع OpenSSL 3.0.x (تم تقديم الخطأ في رمز تحويل Unicode (punycode) المُضاف إلى الفرع 3.0.x). إصدارات OpenSSL 1.1.1، بالإضافة إلى مكتبات OpenSSL الفرعية LibreSSL وBoringSSL، لا تتأثر بالمشكلة. وفي الوقت نفسه، تم إصدار تحديث OpenSSL 1.1.1s، والذي يحتوي فقط على إصلاحات الأخطاء غير المتعلقة بالأمان.

يُستخدم فرع OpenSSL 3.0 في توزيعات مثل Ubuntu 22.04 وCentOS Stream 9 وRHEL 9 وOpenMandriva 4.2 وGentoo وFedora 36 وDebian Testing/Unstable. يُنصح مستخدمو هذه الأنظمة بتثبيت التحديثات في أقرب وقت ممكن (Debian وUbuntu وRHEL وSUSE/openSUSE وFedora وArch). في SUSE Linux Enterprise 15 SP4 وopenSUSE Leap 15.4، تتوفر الحزم المزودة بـ OpenSSL 3.0 بشكل اختياري، وتستخدم حزم النظام الفرع 1.1.1. Debian 1، وArch Linux، وVoid Linux، وUbuntu 11، وSlackware، وALT Linux، وRHEL 20.04، وOpenWrt، وAlpine Linux 8، وFreeBSD تظل موجودة في فروع OpenSSL 3.16.x.

المصدر: opennet.ru

إضافة تعليق