تحديث Exim 4.94.2 يعمل على إصلاح 10 ثغرات أمنية يمكن استغلالها عن بُعد

تم نشر إصدار خادم البريد Exim 4.94.2 مع إزالة 21 نقطة ضعف (CVE-2020-28007-CVE-2020-28026، CVE-2021-27216)، والتي تم تحديدها بواسطة Qualys وعرضها تحت الاسم الرمزي 21مسامير. 10 مشاكل يمكن استغلالها عن بعد (بما في ذلك تنفيذ التعليمات البرمجية مع حقوق الجذر) من خلال معالجة أوامر SMTP عند التفاعل مع الخادم.

تتأثر جميع إصدارات Exim، التي تم تتبع تاريخها في Git منذ عام 2004، بهذه المشكلة. تم إعداد نماذج أولية لبرامج استغلال الثغرات لأربع نقاط ضعف محلية و4 مشكلات بعيدة. تسمح لك عمليات استغلال الثغرات الأمنية المحلية (CVE-3-2020، وCVE-28007-2020، وCVE-28008-2020، وCVE-28015-2020) برفع امتيازاتك إلى المستخدم الجذر. تسمح مشكلتان عن بعد (CVE-28012-2020 وCVE-28020-2020) بتنفيذ التعليمات البرمجية دون مصادقة كمستخدم Exim (يمكنك بعد ذلك الوصول إلى الجذر عن طريق استغلال إحدى الثغرات الأمنية المحلية).

تسمح الثغرة CVE-2020-28021 بالتنفيذ الفوري للتعليمات البرمجية عن بعد باستخدام حقوق الجذر، ولكنها تتطلب وصولاً موثقًا (يجب على المستخدم إنشاء جلسة مصادق عليها، وبعد ذلك يمكنه استغلال الثغرة الأمنية من خلال معالجة معلمة AUTH في أمر MAIL FROM). ترجع المشكلة إلى حقيقة أن المهاجم يمكنه تحقيق استبدال سلسلة في رأس ملف التخزين المؤقت عن طريق كتابة قيمة Authenticated_sender دون الهروب بشكل صحيح من الأحرف الخاصة (على سبيل المثال، عن طريق تمرير الأمر "MAIL FROM:<> AUTH=Raven+0AReyes" ").

بالإضافة إلى ذلك، تجدر الإشارة إلى أن ثغرة أمنية أخرى عن بعد، CVE-2020-28017، قابلة للاستغلال لتنفيذ التعليمات البرمجية بحقوق المستخدم "exim" دون مصادقة، ولكنها تتطلب أكثر من 25 جيجابايت من الذاكرة. بالنسبة لنقاط الضعف الـ 13 المتبقية، من الممكن أيضًا إعداد برامج استغلال، ولكن لم يتم تنفيذ العمل في هذا الاتجاه بعد.

تم إخطار مطوري Exim بالمشكلات في أكتوبر من العام الماضي وأمضوا أكثر من 6 أشهر في تطوير الإصلاحات. يوصى جميع المسؤولين بتحديث Exim على خوادم البريد الخاصة بهم بشكل عاجل إلى الإصدار 4.94.2. تم الإعلان عن أن كافة إصدارات Exim قبل الإصدار 4.94.2 أصبحت قديمة. تم تنسيق نشر الإصدار الجديد مع التوزيعات التي نشرت في نفس الوقت تحديثات الحزمة: Ubuntu، وArch Linux، وFreeBSD، وDebian، وSUSE، وFedora. لم يتأثر RHEL وCentOS بالمشكلة، حيث لم يتم تضمين Exim في مستودع الحزم القياسي الخاص بهما (ليس لدى EPEL تحديث بعد).

نقاط الضعف التي تمت إزالتها:

  • CVE-2020-28017: تجاوز عدد صحيح في وظيفةrece_add_recipient();
  • CVE-2020-28020: تجاوز عدد صحيح في وظيفةrece_msg();
  • CVE-2020-28023: القراءة خارج الحدود في smtp_setup_msg();
  • CVE-2020-28021: استبدال السطر الجديد في رأس ملف التخزين المؤقت؛
  • CVE-2020-28022: الكتابة والقراءة في منطقة خارج المخزن المؤقت المخصص في الدالة extract_option();
  • CVE-2020-28026: اقتطاع السلسلة واستبدالها في spool_read_header();
  • CVE-2020-28019: يتعطل عند إعادة تعيين مؤشر دالة بعد حدوث خطأ BDAT؛
  • CVE-2020-28024: تجاوز سعة المخزن المؤقت في الدالة smtp_ungetc();
  • CVE-2020-28018: الوصول إلى المخزن المؤقت بعد الاستخدام مجانًا في tls-openssl.c
  • CVE-2020-28025: قراءة خارج الحدود في الدالة pdkim_finish_bodyhash().

نقاط الضعف المحلية:

  • CVE-2020-28007: هجوم الارتباط الرمزي في دليل سجل Exim؛
  • CVE-2020-28008: هجمات دليل التخزين المؤقت؛
  • CVE-2020-28014: إنشاء ملف عشوائي؛
  • CVE-2021-27216: حذف الملف بشكل عشوائي؛
  • CVE-2020-28011: تجاوز سعة المخزن المؤقت في queue_run();
  • CVE-2020-28010: الكتابة خارج الحدود في main();
  • CVE-2020-28013: تجاوز سعة المخزن المؤقت في الوظيفة parse_fix_phrase();
  • CVE-2020-28016: الكتابة خارج الحدود في parse_fix_phrase();
  • CVE-2020-28015: استبدال السطر الجديد في رأس ملف التخزين المؤقت؛
  • CVE-2020-28012: علامة إغلاق على exec مفقودة لممر ذو امتيازات غير مسمى؛
  • CVE-2020-28009: تجاوز عدد صحيح في الدالة get_stdinput().



المصدر: opennet.ru

إضافة تعليق