Пропатчил Exim — пропатчи отново. Ново Remote Command Execution в Exim 4.92 в един заявка.

Пропатчил Exim — пропатчи отново. Ново Remote Command Execution в Exim 4.92 в един заявка.

Съвсем наскоро, в началото на лятото, се появиха масови призиви за обновление на Exim до версия 4.92 заради уязвимостта CVE-2019-10149 (Спешно обновявайте exim до 4.92 — тече активно инфектиране / Хабр). А наскоро стана ясно, че злонамереният Sustes решил да се възползва от тази уязвимост.

Сега всички, които спешно се обновиха, отново могат да „се радват“: на 21 юли 2019 г. изследователят Zerons откри критична уязвимост в Exim Mail Transfer agent (MTA) при използване на TLS за версии от 4.80 до 4.92.1 включително, позволяваща дистанционно да изпълнява код с привилегировани права. (CVE-2019-15846).

Уязвимостта

Уязвимостта присъства при използване на библиотеките GnuTLS и OpenSSL при установяване на защитена TLS-свръзка.

Според разработчика Хейко Шлитерман, конфигурационният файл в Exim по подразбиране не използва TLS, но много дистрибуции по време на инсталацията създават необходимите сертификати и включват защитена свързаност. Освен това по-новите версии на Exim задават опцията tls_advertise_hosts=* и генерират необходимите сертификати.

зависи от конфигурацията. Повечето дистрибуции я активират по подразбиране, но Exim се нуждае от сертификат + ключ, за да работи като TLS сървър. Вероятно дистрибуциите създават сертификат по време на настройката. По-новите версии на Exim имат опцията tls_advertise_hosts, зададена по подразбиране на „*“ и създават самоподписан сертификат, ако не е предоставен.

Съдържанието на уязвимостта се състои в некоректна обработка на SNI (Server Name Indication, технология, въведена през 2003 г. в RFC 3546 за поискване на коректен сертификат за доменно име от клиента, Разпространение на стандарта TLS SNI / Блог на компания WEBO Group / Хабр) по време на TLS-рукопожатието. На злонамерения мъж му е достатъчно да изпрати SNI, завършващ с обратен слеш („\“) и нулев символ (" ").

Изследователите от компания Qualys откриха бъг във функцията string_printing(tls_in.sni), който се състои в некоректно екраниране на „“. В резултат на това обратният слеш се записва в неекраниран вид в файла на заглавията print spool. След това този файл с привилегировани права се прочита от функцията spool_read_header(), което води до преливане на купчината (heap overflow).

Трябва да се отбележи, че до момента разработчиците на Exim са създали PoC на уязвимостта с изпълнение на команди на отдалечен уязвим сървър, но публичен достъп все още не е наличен. Поради простотата на експлоатацията на бъга, това е просто въпрос на време, и то доста кратко.

С по-подробно изследване на компания Qualys можете да се запознаете тук..

Пропатчил Exim — пропатчи отново. Ново Remote Command Execution в Exim 4.92 в един заявка.

Използването на SNI в TLS

Брой потенциално уязвими публични сървъри

Според статистиката на водещ хостинг доставчик E-Soft Inc към 1 септември, на наетите сървъри версия 4.92 се използва в повече от 70% от хостовете.

Version
Брой сървъри
Процент

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

Ако се обърнем към търсачката Shodan, от 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 — пропатчи отново. Ново Remote Command Execution в Exim 4.92 в един заявка.

Търсене на Exim-сървъри в Shodan

Защита

  • Най-простият, но не препоръчителен вариант е да не се използва TLS, което ще доведе до изпращане на имейли в отворен вид.
  • По-предпочитателно за избягване на експлоатацията на уязвимостта е да се обнови до версия Exim Internet Mailer 4.92.2.
  • В случай на невъзможност за обновление или инсталиране на патчвана версия, може да се зададе 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}}}}

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster