В популярном DNS-сервере BIND обнаружены критические уязвимости. Их эксплуатация может открывать злоумышленникам возможности для проведения DoS-атаки а также удаленно останавливать его работу. Информация об уязвимостях была опубликована специалистами компании ISC, под лицензией которой распространяется программное обеспечение BIND.
В чем проблема
Ошибка в работе обработчика входных данных управляющего канала (CVE-2016-1285) позволяет злоумышленникам с помощью отправки специально сформированного пакета отключать сервер BIND. Для проведения атаки хакеру необходимо использовать адрес, прописанный в секции “controls” файла named.conf, или иметь доступ к машине, на которой запущен сервер, если канал управления использует список адресов по умолчанию.
Уязвимость CVE-2016-1286 заключается в некорректной обработке записей DNAME, которая приводит к сбою модулей resolver.c или db.c, который приводит к отказу в обслуживании пользователей сервера. В свою очередь ошибка CVE-2016-2088 содержится в коде, отвечающем за реализацию поддержки DNS cookies — в результате злоумышленник может вызвать отказ в обслуживании с помощью специально сформированного пакета.
В версиях BIND до номера 9 исследователи за многие годы обнаружили большое количество серьезных проблем с безопасностью. В данном же случае уязвимы именно релизы, начиная с 9:
- Ошибке CVE-2016-1285 подвержены версии 9.2.0 -> 9.8.8, 9.9.0->9.9.8-P3, 9.9.3-S1->9.9.8-S5, 9.10.0->9.10.3-P3
- Ошибке CVE-2016-1286 —версии 9.0.0 -> 9.8.8, 9.9.0 -> 9.9.8-P3, 9.9.3-S1 -> 9.9.8-S5, 9.10.0 -> 9.10.3-P3;
- Ошибке CVE-2016-2088 — версии 9.10.0 -> 9.10.3-P3.
Как защититься
Для всех перечисленных выше ошибок уже выпущены патчи. В бюллетенях безопасности компании ISC содержатся рекомендация для пользователей уязвимых версий BIND как можно скорее обновить версию сервера на ту, где уязвимости устранены, и которая ближе всего по номеру к используемой в текущий момент.
Также специалисты ISC указывают, что на данный момент у них нет информации о существовании работающих эксплоитов для указанных уязвимостей.
Однако исследователи Positive Technologies сумели использовать описанную выше уязвимость для осуществления DOS-атаки на утилиту dig, входящую в состав пакета BIND. При этом уязвимый кусок кода утилиты полностью присутствует и в демоне BIND named.
Утилита dig использует dighost.c, а демон named использует resolver.c. Механизм устранения уязвимости одинаков для обоих файлов и состоит в добавлении проверки, гарантирующей обработку только первых cookie:
/*
* Only process the first cookie option.
*/
if (seen_cookie) {
isc_buffer_forward(&optbuf, optlen);
break;
}
Эксперты Positive Technologies также рекомендуют использовать для обнаружения уязвимостей специализированные средства вроде системы мониторинга защищенности и соответствия стандартам MaxPatrol 8.
Автор: Positive Technologies