مصححة Exim - التصحيح مرة أخرى. تنفيذ جديد للأوامر عن بعد في Exim 4.92 في طلب واحد

مصححة Exim - التصحيح مرة أخرى. تنفيذ جديد للأوامر عن بعد في Exim 4.92 في طلب واحد

في الآونة الأخيرة، في أوائل الصيف، كانت هناك دعوات واسعة النطاق لتحديث Exim إلى الإصدار 4.92 بسبب الثغرة الأمنية CVE-2019-10149 (قم بتحديث Exim إلى الإصدار 4.92 بشكل عاجل - هناك عدوى نشطة / Sudo Null IT News). وتبين مؤخرًا أن البرمجيات الخبيثة Sustes قررت الاستفادة من هذه الثغرة الأمنية.

الآن يمكن لجميع أولئك الذين قاموا بالتحديث بشكل عاجل أن "يبتهجوا" مرة أخرى: في 21 يوليو 2019، اكتشف الباحث زيرونز ثغرة أمنية حرجة في وكيل نقل بريد Exim (MTA) عند استخدام TLS للإصدارات من 4.80 إلى 4.92.1 شاملة، مما يسمح عن بعد تنفيذ التعليمات البرمجية مع الحقوق المميزة (CVE-2019-15846).

عالي التأثر

تظهر الثغرة الأمنية عند استخدام مكتبتي GnuTLS وOpenSSL عند إنشاء اتصال TLS آمن.

وفقًا للمطور Heiko Schlittermann، فإن ملف التكوين في Exim لا يستخدم TLS افتراضيًا، لكن العديد من التوزيعات تقوم بإنشاء الشهادات اللازمة أثناء التثبيت وتمكين الاتصال الآمن. تقوم أيضًا الإصدارات الأحدث من Exim بتثبيت الخيار tls_advertise_hosts=* وإنشاء الشهادات اللازمة.

يعتمد على التكوين. تقوم معظم التوزيعات بتمكينه افتراضيًا، لكن Exim يحتاج إلى شهادة + مفتاح للعمل كخادم TLS. من المحتمل أن تقوم Distros بإنشاء شهادة أثناء الإعداد. يحتوي Exims الأحدث على خيار tls_advertise_hosts الافتراضي هو "*" ويقوم بإنشاء شهادة موقعة ذاتيًا، إذا لم يتم توفير أي منها.

تكمن الثغرة الأمنية نفسها في المعالجة غير الصحيحة لـ SNI (إشارة اسم الخادم، وهي تقنية تم تقديمها في عام 2003 في RFC 3546 للعميل لطلب الشهادة الصحيحة لاسم المجال، توزيع معيار TLS SNI / مدونة مجموعة WEBO / Sudo Null IT News) أثناء مصافحة TLS. يحتاج المهاجم فقط إلى إرسال SNI ينتهي بشرطة مائلة عكسية ("") وحرف فارغ (" ").

اكتشف باحثون من Qualys خطأً في الدالة string_printing(tls_in.sni)، والتي تتضمن هروبًا غير صحيح من "". ونتيجة لذلك، تتم كتابة الخط المائل العكسي بدون إلغاء إلى ملف رأس التخزين المؤقت للطباعة. تتم بعد ذلك قراءة هذا الملف بحقوق مميزة بواسطة الدالة spool_read_header()، مما يؤدي إلى تجاوز سعة الكومة.

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

يمكن الاطلاع على دراسة أكثر تفصيلا من قبل Qualys هنا.

مصححة Exim - التصحيح مرة أخرى. تنفيذ جديد للأوامر عن بعد في Exim 4.92 في طلب واحد

استخدام SNI في TLS

عدد الخوادم العامة التي يحتمل أن تكون عرضة للخطر

وفقا لإحصائيات من مزود استضافة كبير شركة اي سوفت اعتبارًا من 1 سبتمبر، سيتم استخدام الإصدار 4.92 على الخوادم المستأجرة في أكثر من 70% من المضيفين.

التجريبية
عدد الخوادم
في المئة

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

إصدارات أخرى
25568
5.04%

إحصائيات شركة E-Soft Inc

إذا كنت تستخدم محرك البحث الحزام الأسود، ثم من أصل 5,250,000 في قاعدة بيانات الخادم:

  • حوالي 3,500,000 يستخدمون Exim 4.92 (حوالي 1,380,000 يستخدمون SSL/TLS)؛
  • أكثر من 74,000 يستخدمون 4.92.1 (حوالي 25,000 يستخدمون SSL/TLS).

وبالتالي، فإن عدد خوادم Exim المعروفة والتي يمكن الوصول إليها يحتمل أن تكون عرضة للخطر 1.5 مليون.

مصححة Exim - التصحيح مرة أخرى. تنفيذ جديد للأوامر عن بعد في Exim 4.92 في طلب واحد

البحث عن خوادم Exim في شودان

حماية

  • الخيار الأبسط، ولكن غير الموصى به، هو عدم استخدام TLS، مما سيؤدي إلى إعادة توجيه رسائل البريد الإلكتروني بشكل واضح.
  • لتجنب استغلال الثغرة الأمنية، سيكون من الأفضل التحديث إلى الإصدار إكسيم بريد الإنترنت 4.92.2.
  • إذا كان من المستحيل تحديث أو تثبيت إصدار مصحح، فيمكنك تعيين قائمة التحكم بالوصول (ACL) في تكوين Exim لهذا الخيار acl_smtp_mail مع القواعد التالية:
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

المصدر: www.habr.com

إضافة تعليق