أصدرتexim تحديثات أمنية لمعالجة ثغرة خطيرة تؤثر على تكوينات معينة، وقد تسمح هذه الثغرة بتلف الذاكرة وتنفيذ تعليمات برمجية محتمل. يُعد Exim برنامجًا مفتوح المصدر لإدارة نقل البريد (MTA)، وهو مصمم للأنظمة الشبيهة بيونكس لاستقبال وتوجيه وتسليم رسائل البريد الإلكتروني.
تُعرف هذه الثغرة بالرمز CVE-2026-45185، أو Dead.Letter، وقد وُصفت بأنها ثغرة استخدام بعد التحرير (use-after-free). تكمن المشكلة في تحليل جسم رسالة BDAT (نقل بيانات ثنائية) عند استخدام اتصال TLS من خلال GnuTLS.
ثغرة أمنية خطيرة في Exim تهدد خوادم البريد
تنشأ الثغرة عندما يرسل العميل تنبيهاً بقطع اتصال TLS (close_notify) قبل اكتمال نقل جسم الرسالة، ثم يتبعه ببايت أخير كنص عادي على نفس اتصال TCP. يؤدي هذا التسلسل إلى كتابة Exim في ذاكرة تم تحريرها بالفعل أثناء إنهاء جلسة TLS، مما يتسبب في تلف كتلة الذاكرة الحرة (heap corruption).
وتتطلب هذه الثغرة من المهاجم أن يكون قادرًا على إنشاء اتصال TLS واستخدام امتداد SMTP الخاص بـ CHUNKING (BDAT). هذا يعني أن الهجوم لا يحتاج إلى تكوينات خاصة معقدة على الخادم.
تفاصيل الثغرة وتأثيرها
تؤثر هذه المشكلة على جميع إصدارات Exim من 4.97 حتى 4.99.2. ومع ذلك، فهي تؤثر فقط على التكوينات التي تستخدم USE_GNUTLS=yes. أما التكوينات التي تعتمد على مكتبات TLS أخرى مثل OpenSSL، فلا تتأثر بهذه الثغرة.
اكتشف الثغرة وقدمها فيدريكو كيرشباوم، رئيس مختبر الأمن في XBOW، وهي منصة اختبار مستقلة للأمن السيبراني. ومن جهته، وصف كيرشباوم الثغرة بأنها “من بين الثغرات ذات الجودة العالية” التي تم اكتشافها في Exim حتى الآن.
تكمن آلية الاستغلال في أن Exim يقوم بتحرير المخزن المؤقت لنقل TLS أثناء إنهاء الاتصال، ولكن معالج BDAT يمكنه مواصلة معالجة البايتات الواردة واستدعاء وظيفة ungetc(). وهذا يؤدي إلى كتابة حرف واحد في المنطقة المحررة، مما يؤدي إلى إتلاف البيانات الوصفية لمخصص الذاكرة. يمكن بعد ذلك استغلال هذا التلف للحصول على صلاحيات إضافية.
الحلول والتوصيات
تمت معالجة هذه الثغرة بشكل كامل في الإصدار 4.99.3 من Exim. وتوصي الجهات المعنية جميع المستخدمين بالترقية إلى هذا الإصدار الجديد في أقرب وقت ممكن لضمان أمن أنظمتهم.
أوضحت Exim أن الإصلاح يضمن إعادة تعيين مكدس معالجة الإدخال بشكل سليم عند تلقي إشعار قطع اتصال TLS أثناء نقل BDAT نشط، مما يمنع استخدام المؤشرات القديمة. ولا توجد حاليًا أي حلول بديلة (mitigations) يمكن أن تحل محل الترقية.
يُذكر أن هذه ليست المرة الأولى التي يتم فيها الكشف عن ثغرات حرجة من نوع استخدام بعد التحرير في Exim. فقد تم في أواخر عام 2017 معالجة ثغرة مماثلة (CVE-2017-16943) سمحت للمهاجمين غير المصادق عليهم بتنفيذ تعليمات برمجية عن بعد عبر أوامر BDAT مصممة خصيصًا، مما كان يمكن أن يؤدي إلى السيطرة الكاملة على خادم البريد.

