Patched Exim - қайтадан патч. Бір сұрауда Exim 4.92-де жаңа қашықтан пәрменді орындау

Patched Exim - қайтадан патч. Бір сұрауда Exim 4.92-де жаңа қашықтан пәрменді орындау

Жақында, жаздың басында, CVE-4.92-2019 осалдығына байланысты Exim-ті 10149 нұсқасына жаңартуға шақырулар көп болды (Exim-ді 4.92-ге жедел жаңартыңыз - белсенді инфекция бар / Sudo Null IT News). Жақында Sustes зиянды бағдарламасы осы осалдықты пайдалануға шешім қабылдағаны белгілі болды.

Енді шұғыл түрде жаңартылғандардың барлығы қайтадан «қуана» алады: 21 жылдың 2019 шілдесінде зерттеуші Зеронс маңызды осалдықты анықтады. TLS пайдаланған кезде Exim Mail Transfer агенті (MTA). нұсқалары үшін 4.80 үшін 4.92.1 қоса, қашықтан басқаруға мүмкіндік береді кодты артықшылықты құқықтармен орындаңыз (CVE-2019-15846).

Осалдық

Қауіпсіз TLS қосылымын орнату кезінде осалдық GnuTLS және OpenSSL кітапханаларын пайдалану кезінде болады.

Әзірлеуші ​​Heiko Schlittermann айтуынша, Exim ішіндегі конфигурация файлы әдепкі бойынша TLS қолданбайды, бірақ көптеген дистрибутивтер орнату кезінде қажетті сертификаттарды жасайды және қауіпсіз қосылымды қосады. Сондай-ақ Exim жаңа нұсқалары опцияны орнатады tls_advertise_hosts=* және қажетті сертификаттарды жасаңыз.

конфигурациясына байланысты. Көптеген дистрибутивтер оны әдепкі бойынша қосады, бірақ Eximге TLS сервері ретінде жұмыс істеу үшін сертификат+кілт қажет. Дистролар орнату кезінде сертификат жасайды. Жаңа Exims әдепкі бойынша "*" мәніне арналған tls_advertise_hosts опциясына ие және ешқайсысы қамтамасыз етілмесе, өздігінен қол қойылған куәлікті жасайды.

Осалдықтың өзі SNI қате өңделуінде жатыр (Server Name Indication, 2003 жылы RFC 3546 жүйесінде клиенттің домендік атау үшін дұрыс сертификатты сұрауы үшін енгізілген технология, TLS SNI стандартының таралуы / WEBO Group блогы / Sudo Null IT News) TLS қол алысу кезінде. Шабуылдаушы тек кері қиғаш сызықпен ("") және нөлдік таңбамен (" ") аяқталатын SNI жіберуі керек.

Qualys зерттеушілері string_printing(tls_in.sni) функциясында қатені анықтады, ол «» дұрыс емес қашуды қамтиды. Нәтижесінде кері қиғаш сызық басып шығару спулының тақырып файлына көшірмесіз жазылады. Содан кейін бұл файл үйменің толып кетуіне әкелетін spool_read_header() функциясы арқылы артықшылықты құқықтармен оқылады.

Айта кету керек, қазіргі уақытта Exim әзірлеушілері қашықтағы осал серверде командаларды орындау арқылы осалдықтардың PoC құрды, бірақ ол әлі жалпыға қолжетімді емес. Қатені пайдаланудың қарапайымдылығына байланысты бұл уақыт мәселесі және өте қысқа.

Толығырақ Qualys зерттеуін табуға болады осында.

Patched Exim - қайтадан патч. Бір сұрауда Exim 4.92-де жаңа қашықтан пәрменді орындау

TLS жүйесінде SNI пайдалану

Ықтимал осал қоғамдық серверлердің саны

Үлкен хостинг провайдерінің статистикасына сәйкес E-Soft Inc 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 XNUMX XNUMX ішінен:

  • шамамен 3,500,000 4.92 1,380,000 Exim XNUMX пайдаланады (SSL/TLS арқылы шамамен XNUMX XNUMX XNUMX);
  • 74,000 арқылы 4.92.1 25,000-нан астам (SSL/TLS арқылы шамамен XNUMX XNUMX).

Осылайша, жалпыға белгілі және қолжетімді Exim ықтимал осал серверлерінің саны шамамен 1.5M.

Patched Exim - қайтадан патч. Бір сұрауда Exim 4.92-де жаңа қашықтан пәрменді орындау

Шоданда Exim серверлерін іздеңіз

қорғаныс

  • Ең қарапайым, бірақ ұсынылмайтын опция - TLS қолданбау, бұл электрондық пошта хабарларының анық түрде қайта жіберілуіне әкеледі.
  • Осалдықты пайдаланбау үшін нұсқаға жаңартқан дұрыс Exim Internet Mailer 4.92.2.
  • Егер патчталған нұсқаны жаңарту немесе орнату мүмкін болмаса, опция үшін Exim конфигурациясында ACL орнатуға болады. 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

пікір қалдыру