اکنون همه کسانی که فوری بهروزرسانی کردهاند میتوانند دوباره "شاد شوند": در 21 ژوئیه 2019، محقق Zerons یک آسیبپذیری مهم را در Exim Mail Transfer Agent (MTA) هنگام استفاده از TLS برای نسخه های از به 4.80 4.92.1 فراگیر، اجازه از راه دور کد را با حقوق ممتاز اجرا کنید (CVE-2019-15846).
آسیب پذیری
این آسیبپذیری هنگام استفاده از کتابخانههای GnuTLS و OpenSSL هنگام ایجاد یک اتصال امن TLS وجود دارد.
به گفته توسعه دهنده Heiko Schlittermann، فایل پیکربندی در Exim به طور پیش فرض از TLS استفاده نمی کند، اما بسیاری از توزیع ها گواهی های لازم را در حین نصب ایجاد می کنند و اتصال ایمن را فعال می کنند. همچنین نسخه های جدید Exim این گزینه را نصب می کنند tls_advertise_hosts=* و گواهی های لازم را تولید کنید.
بستگی به پیکربندی دارد اکثر توزیعها آن را بهطور پیشفرض فعال میکنند، اما Exim برای کار به عنوان یک سرور TLS به یک گواهی+کلید نیاز دارد. احتمالاً Distros در حین راه اندازی یک Cert ایجاد می کند. Eximهای جدیدتر دارای گزینه tls_advertise_hosts هستند که به طور پیشفرض روی "*" قرار میگیرند و اگر گواهی ارائه نشده باشد، یک گواهی امضا شده ایجاد میکنند.
خود آسیبپذیری در پردازش نادرست SNI (نشاندهنده نام سرور، فناوری معرفی شده در سال 2003 در RFC 3546 برای مشتری برای درخواست گواهی صحیح برای نام دامنه است. توزیع استاندارد TLS SNI / وبلاگ گروه WEBO / اخبار فناوری اطلاعات سودو نول) در طی یک دست دادن TLS. یک مهاجم فقط باید یک SNI را ارسال کند که با علامت بک اسلش ("") و یک کاراکتر تهی ("") ختم می شود.
محققان Qualys یک اشکال در تابع string_printing(tls_in.sni) کشف کردهاند که شامل فرار نادرست از «» است. در نتیجه، بک اسلش بدون فرار در فایل هدر قرقره چاپ نوشته می شود. سپس این فایل با حقوق ممتاز توسط تابع spool_read_header() خوانده می شود که منجر به سرریز پشته می شود.
شایان ذکر است که در حال حاضر، توسعه دهندگان Exim یک PoC از آسیب پذیری ها را با اجرای دستورات روی یک سرور آسیب پذیر از راه دور ایجاد کرده اند، اما هنوز در دسترس عموم قرار نگرفته است. با توجه به سهولت بهره برداری از باگ، فقط مسئله زمان و بسیار کوتاه است.
مطالعه دقیق تری توسط Qualys را می توان یافت اینجا.
استفاده از SNI در TLS
تعداد سرورهای عمومی بالقوه آسیب پذیر
طبق آمار یک ارائه دهنده هاست بزرگ شرکت ای سافت از اول سپتامبر، در سرورهای اجاره ای، نسخه 1 در بیش از 4.92 درصد هاست ها استفاده می شود.
نسخه
تعداد سرورها
در صد
4.92.1
6471
٪۱۰۰
4.92 376436 ٪۱۰۰
4.91
58179
٪۱۰۰
4.9
5732
٪۱۰۰
4.89
10700
٪۱۰۰
4.87
14177
٪۱۰۰
4.84
9937
٪۱۰۰
نسخه های دیگر
25568
٪۱۰۰
آمار شرکت 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 را در Shodan جستجو کنید
حفاظت
ساده ترین، اما توصیه نمی شود، گزینه استفاده نکردن از TLS است که منجر به ارسال پیام های ایمیل به صورت واضح می شود.
اگر بهروزرسانی یا نصب نسخه وصلهشده غیرممکن است، میتوانید یک 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}}}}