Security Lab

Удаленный отказ в обслуживании в Sendmail

Дата публикации:27.08.2003
Всего просмотров:1693
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание: Уязвимость обнаружена в почтовом сервере Sendmail. Удаленный атакующий, способный контролировать ответы DNS сервера, может аварийно завершить работу почтового сервера или выполнить произвольный код на уязвимом сервере.

Уязвимость обнаружена в конфигурациях, в которых используется DNS маппинг в sendmail.cf файле. Функция dns_parse_reply() формирует цепочку RESOURCE_RECORD_T структур (динамически распределяя память для них). Из-за неправильной инициализации этих структур, когда sendmail получает плохой DNS ответ (в котором фактический размер ответа не равен заявленному), структура вызывает dns_free_data (sm_resolve.c:227) с rr_next полем последней цепочки структуры, заполненной мусором. В dns_free_data() sendmail попытается освободить цепочку структур – пройдет через цепочку, используя rr_next указатель и останавливаясь, когда rr_next == NULL. Мусор в rr_next поле заставит sendmail вызвать free() на случайном адресе. В результате работа Sendmail аварийно завершится.

Уязвимость обнаружена в sendmail 8.12.8 и более ранних

Sendmail выпустил небольшую заплату, устраняющую обнаруженную уязвимость:

--- sm_resolve.c.orig   Fri Jun 28 00:43:24 2002
+++ sm_resolve.c        Thu Jul 10 01:21:17 2003
@@ -233,6 +233,7 @@
			dns_free_data(r);
			return NULL;
		}
+		memset(*rr, 0, sizeof(**rr));
		(*rr)->rr_domain = sm_strdup(host);
		if ((*rr)->rr_domain == NULL)
		{
 
Ссылки: DNS map problem in 8.12.x before 8.12.9
Problem Report bin/54367