Обновление DNS-сервера BIND c устранением уязвимости, допускающей удалённое выполнение кода


Опубликованы корректирующие обновления стабильных веток DNS-сервера BIND 9.11.31 и 9.16.15, а также находящейся в разработке экспериментальной ветки 9.17.12. В новых выпусках устранены три уязвимости, одна из которых (CVE-2021-25216) приводит к переполнению буфера. На 32-разрядных системах уязвимость может быть эксплуатирована для удалённого выполнения кода злоумышленника через отправку специально оформленного запроса GSS-TSIG. На 64-системах проблема ограничивается крахом процесса named.

Проблема проявляется только при включении механизма GSS-TSIG, активируемого при помощи настроек tkey-gssapi-keytab и tkey-gssapi-credential. GSS-TSIG отключён в конфигурации по умолчанию и обычно применяется в смешанных окружениях, в которых BIND сочетается с контроллерами домена Active Directory, или при интеграции с Samba.

Уязвимость вызвана ошибкой в реализации механизма SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism), применяемого в GSSAPI для согласования используемых клиентом и сервером методов защиты. GSSAPI используется в качестве высокоуровневого протокола для защищённого обмена ключами при помощи расширения GSS-TSIG, применяемого в процессе проверки подлинности динамических обновлений DNS-зон.

Так как критические уязвимости во встроенной реализации SPNEGO находили и ранее, реализация данного протокола удалена из кодовой базы BIND 9. Для пользователей, которым необходима поддержка SPNEGO, рекомендовано использовать внешнюю реализацию, предоставляемую системной библиотекой GSSAPI (предоставляется в MIT Kerberos и Heimdal Kerberos).

Пользователи старых версий BIND в качестве обходного пути блокирования проблемы, могут отключить GSS-TSIG в настройках (параметры tkey-gssapi-keytab и tkey-gssapi-credential) или пересборать BIND без поддержки механизма SPNEGO (опция "--disable-isc-spnego" в скрипте "configure"). Проследить за появлением обновлений в дистрибутивах можно на страницах: Debian, SUSE, Ubuntu, Fedora, Arch Linux, FreeBSD, NetBSD. Пакеты RHEL и ALT Linux собираются без встроенной поддержки SPNEGO.

Дополнительно в рассматриваемых обновлениях BIND устранено ещё две уязвимости:

  • CVE-2021-25215 - крах процесса named при обработке записей DNAME (редирект обработки части поддоменов), приводящих к добавлению в секцию ANSWER дубликатов. Для эксплуатации уязвимости на авторитетных DNS-серверах требуется внесение изменений в обрабатываемые DNS-зоны, а для рекурсивных серверов проблемная запись может быть получена после обращения к авторитетному серверу.
  • CVE-2021-25214 - крах процесса named при обработке специально оформленного входящего запроса IXFR (используется для инкрементальной передачи между DNS-серверами изменений в зонах DNS). Проблеме подвержены только системы, разрешившие передачу зон DNS с сервера атакующего (обычно передача зон используется для синхронизации master- и slave-серверов и выборочно разрешается только для заслуживающих доверие серверов). В качестве обходного пути защиты можно отключить поддержку IXFR при помощи настройки "request-ixfr no;".

Источник: https://www.opennet.ru/opennews/art.shtml?num=55042


Comments 0