ProHoster > Blog > yönetim > Exim Yamalı - tekrar yama yapın. Tek istekte Exim 4.92'de Yeni Uzaktan Komut Yürütme
Exim Yamalı - tekrar yama yapın. Tek istekte Exim 4.92'de Yeni Uzaktan Komut Yürütme
Совсем недавно, в начале лета, появились массовые призывы к обновлению Exim до версии 4.92 из-за уязвимости CVE-2019-10149 (Срочно обновляйте exim до 4.92 — идёт активное заражение / Хабр). А на днях выяснилось, что вредонос Sustes решил воспользоваться этой уязвимостью.
Теперь все экстренно обновившиеся могут опять «порадоваться»: 21 июля 2019 г. исследователь Zerons обнаружил критическую уязвимость в TLS kullanırken Exim Mail Transfer aracısı (MTA) sürümleri için 4.80 için 4.92.1 dahil, uzaktan kumandaya izin veriyor ayrıcalıklı haklara sahip kod yürütme (CVE-2019-15846).
Güvenlik açığı
Уязвимость присутствует при использовании библиотек как GnuTLS, так и OpenSSL при установке защищенного TLS-соединения.
По словам разработчика Heiko Schlittermann, файл конфигурации в Exim по умолчанию не использует TLS, однако многие дистрибутивы во время установки создают необходимые сертификаты и включают защищенное соединение. Также более новые версии Exim устанавливают опцию tls_advertise_hosts=* ve gerekli sertifikaları oluşturun.
konfigürasyona bağlıdır. Çoğu dağıtım bunu varsayılan olarak etkinleştirir, ancak Exim'in TLS sunucusu olarak çalışması için bir sertifika+anahtara ihtiyacı vardır. Muhtemelen Distros kurulum sırasında bir Sertifika oluşturur. Daha yeni Exim'lerde tls_advertise_hosts seçeneği varsayılan olarak "*" olarak ayarlanır ve eğer sağlanmadıysa kendinden imzalı bir sertifika oluşturur.
Сама же уязвимость заключается в некорректной обработке SNI (Server Name Indication, технология, введенная в 2003 в RFC 3546 для запроса клиентом корректного сертификата для доменного имени, TLS SNI standardının dağıtımı / WEBO Grup Blogu / Sudo Null IT News) в ходе TLS-рукопожатия. Злоумышленнику достаточно отправить SNI, оканчивающийся бэкслешем («») и нулл-символом (» «).
Исследователи из компании Qualys обнаружили баг в функции string_printing(tls_in.sni), который заключается в некорректном экранировании «». В результате происходит запись обратного слеша в неэкранированном виде в файл заголовков print spool. Далее этот файл с привилегированными правами считывается функцией spool_read_header(), что ведет к переполнению кучи (heap overflow).
Стоит отметить, что на данный момент разработчики Exim создали PoC уязвимости с выполнением команд на удаленном уязвимом сервере, но в публичном доступе он пока отсутствует. В силу простоты эксплуатации бага это всего лишь вопрос времени, причем довольно короткого.
Qualys'in daha ayrıntılı bir çalışmasını burada bulabilirsiniz burada.
TLS'de SNI kullanma
Potansiyel olarak güvenlik açığı bulunan genel sunucuların sayısı
Büyük bir barındırma sağlayıcısının istatistiklerine göre E-Soft A.Ş. на 1 сентября, на арендованных серверах версия 4.92 используется в более чем 70% хостов.
Sürümü
Sunucu Sayısı
Yüzde
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
Diğer sürümler
25568
%5.04
E-Soft Inc şirket istatistikleri
Bir arama motoru kullanıyorsanız Shodan, ardından sunucu veritabanındaki 5,250,000'den:
около 3,500,000 используют Exim 4.92 (около 1,380,000 с использованием SSL/TLS);
74,000 kullanarak 4.92.1'in üzerinde (SSL/TLS kullanarak yaklaşık 25,000).
Таким образом, публично известных и доступных Exim потенциально уязвимых серверов насчитывается порядка 1.5 milyon.
Shodan'da Exim sunucularını arayın
koruma
Самый простой, но не рекомендуемый вариант — не использовать TLS, что приведет к пересылке почтовых сообщений в открытом виде.
В случае невозможности обновления или установки пропатченной версии можно задать ACL в конфигурации Exim для опции acl_smtp_mail aşağıdaki kurallarla:
# 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}}}}