Закрпљен Еким - поново закрпа. Свеже извршење даљинске команде у Екиму 4.92 у једном захтеву

Закрпљен Еким - поново закрпа. Свеже извршење даљинске команде у Екиму 4.92 у једном захтеву

Недавно, почетком лета, било је широко распрострањених позива да се Еким ажурира на верзију 4.92 због ЦВЕ-2019-10149 рањивости (Хитно ажурирајте Еким на 4.92 - постоји активна инфекција / Судо Нулл ИТ вести). А недавно се испоставило да је злонамерни софтвер Сустес одлучио да искористи ову рањивост.

Сада сви они који су хитно ажурирали могу поново да се „раде“: истраживач Зеронс је 21. јула 2019. открио критичну рањивост у Еким агент за пренос поште (МТА) када користите ТЛС за верзије од КСНУМКС КСНУМКС до инклузивно, омогућавајући даљински извршити код са привилегованим правима (ЦВЕ-КСНУМКС-КСНУМКС).

Рањивост

Рањивост је присутна када се користе и ГнуТЛС и ОпенССЛ библиотеке приликом успостављања безбедне ТЛС везе.

Према програмеру Хеико Сцхлиттерманн, конфигурациона датотека у Екиму подразумевано не користи ТЛС, али многе дистрибуције креирају неопходне сертификате током инсталације и омогућавају безбедну везу. Такође новије верзије Екима инсталирају опцију тлс_адвертисе_хостс=* и генеришу потребне сертификате.

зависи од конфигурације. Већина дистрибуција то подразумевано омогућава, али Еким-у је потребан сертификат+кључ да би радио као ТЛС сервер. Вероватно Дистрос креира сертификат током подешавања. Новији Еким-ови имају опцију тлс_адвертисе_хостс која је подразумевана вредност "*" и креирају самопотписани сертификат, ако ниједан није обезбеђен.

Сама рањивост лежи у погрешној обради СНИ (Сервер Наме Индицатион, технологија уведена 2003. године у РФЦ 3546 за клијента да затражи исправан сертификат за име домена, Дистрибуција ТЛС СНИ стандарда / Блог ВЕБО Групе / Судо Нулл ИТ вести) током ТЛС руковања. Нападач само треба да пошаље СНИ који се завршава обрнутом косом цртом ("") и нултим карактером (" ").

Истраживачи из Куалиса су открили грешку у функцији стринг_принтинг(тлс_ин.сни), која укључује нетачно избегавање „. Као резултат, обрнута коса црта се уписује у датотеку заглавља споол-а без преклапања. Ова датотека се затим чита са привилегованим правима помоћу функције споол_реад_хеадер(), што доводи до прекорачења гомиле.

Вреди напоменути да су у овом тренутку Еким програмери креирали ПоЦ рањивости са извршавањем команди на удаљеном рањивом серверу, али он још није јавно доступан. Због лакоће експлоатације грешке, то је само питање времена, и то прилично кратко.

Детаљнију студију Куалиса можете пронаћи овде.

Закрпљен Еким - поново закрпа. Свеже извршење даљинске команде у Екиму 4.92 у једном захтеву

Коришћење СНИ у ТЛС-у

Број потенцијално рањивих јавних сервера

Према статистикама великог хостинг провајдера Е-Софт Инц од 1. септембра, на изнајмљеним серверима, верзија 4.92 се користи у више од 70% хостова.

верзија
Број сервера
Проценат

4.92.1
6471
100%

4.92
376436
100%

4.91
58179
100%

4.9
5732
100%

4.89
10700
100%

4.87
14177
100%

4.84
9937
100%

Остале верзије
25568
100%

Статистика компаније Е-Софт Инц

Ако користите претраживач Сходан, затим од 5,250,000 у бази података сервера:

  • око 3,500,000 користи Еким 4.92 (око 1,380,000 користи ССЛ/ТЛС);
  • преко 74,000 користећи 4.92.1 (око 25,000 користећи ССЛ/ТЛС).

Дакле, јавно познати и доступни Еким потенцијално рањиви сервери броје око КСНУМКСМ.

Закрпљен Еким - поново закрпа. Свеже извршење даљинске команде у Екиму 4.92 у једном захтеву

Потражите Еким сервере у Сходану

заштита

  • Најједноставнија, али не препоручљива опција је да се не користи ТЛС, што ће довести до тога да се поруке е-поште прослеђују у чистом облику.
  • Да бисте избегли искоришћавање рањивости, било би боље да ажурирате на верзију Еким Интернет Маилер 4.92.2.
  • Ако није могуће ажурирати или инсталирати закрпљену верзију, можете поставити АЦЛ у Еким конфигурацији за опцију ацл_смтп_маил са следећим правилима:
    # 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}}}}

Извор: ввв.хабр.цом