يعمل تحديث OpenSSL 3.0.1 على إصلاح الثغرات الأمنية

تتوفر إصدارات تصحيحية من مكتبة تشفير OpenSSL 3.0.1 و 1.1.1 م. قام الإصدار 3.0.1 بإصلاح الثغرة الأمنية (CVE-2021-4044) ، وتم إصلاح حوالي عشرة أخطاء في كلا الإصدارين.

توجد الثغرة الأمنية في تنفيذ عملاء SSL / TLS وترتبط بحقيقة أن مكتبة libssl تتعامل بشكل غير صحيح مع رموز الخطأ السالبة التي تعيدها وظيفة X509_verify_cert () ، والتي تم استدعاؤها للتحقق من الشهادة التي تم تمريرها إلى العميل من قبل الخادم. يتم إرجاع الرموز السالبة عند حدوث أخطاء داخلية ، على سبيل المثال ، إذا تعذر تخصيص الذاكرة للمخزن المؤقت. إذا تم إرجاع مثل هذا الخطأ ، فإن الاستدعاءات اللاحقة لوظائف الإدخال / الإخراج مثل SSL_connect () و SSL_do_handshake () ستعيد الفشل ورمز خطأ SSL_ERROR_WANT_RETRY_VERIFY ، والذي يجب إرجاعه فقط إذا قام التطبيق مسبقًا بإجراء مكالمة إلى SSL_CTX_set_cert_verify_callback ().

نظرًا لأن معظم التطبيقات لا تستدعي SSL_CTX_set_cert_verify_callback () ، فإن حدوث خطأ SSL_ERROR_WANT_RETRY_VERIFY يمكن أن يساء تفسيره ويؤدي إلى تعطل أو حلقة أو استجابة أخرى غير صحيحة. تكون المشكلة أكثر خطورة بالاقتران مع خطأ آخر في OpenSSL 3.0 ، والذي يتسبب في حدوث خطأ داخلي عند معالجة الشهادات في X509_verify_cert () بدون ملحق "Subject Alternative Name" ، ولكن مع روابط الاسم في قيود الاستخدام. في هذه الحالة ، يمكن أن يؤدي الهجوم إلى حالات شاذة خاصة بالتطبيق في معالجة الشهادة وإنشاء جلسة TLS.

المصدر: opennet.ru

إضافة تعليق