Выявленные проблемы:
- CVE-2023-50387 (кодовое имя KeyTrap) — при обращении к специально оформленным DNS-зонам приводит к отказу в обслуживании из-за создания значительной нагрузки на CPU и длительного выполнения проверки DNSSEC. Для совершения атаки необходимо разместить на подконтрольном атакующему DNS-сервере доменную зону с вредоносными настройками, а также добиться обращения этой зоне рекурсивного DNS-сервера, отказа в обслуживании которого добивается атакующий.
Вредоносные настройки сводятся к использованию для зоны комбинации из конфликтующих между собой ключей, записей RRSET и цифровых подписей. Попытка проверки с использованием данных ключей приводит к выполнению длительных ресурсоёмких операций, которые могут полностью нагружать CPU и блокировать обработку других запросов (например, утверждается, что при атаке на BIND удалось остановить обработку других запросов на 16 часов).
- CVE-2023-50868 (кодовое имя NSEC3) — отказ в обслуживании из-за выполнения значительных вычислений при вычислении хэшей в записях NSEC3 (Next Secure v3) при обработке специально оформленных ответов DNSSEC. Метод атаки напоминает первую уязвимость, за исключением того ,что на DNS-сервере злоумышленника создаётся специально оформленный набор записей NSEC3 RRSET.
Отмечается, что появление вышеупомянутых уязвимостей вызвано определением в спецификации DNSSEC возможности отправки DNS-сервером всех доступных криптографических ключей, при том, что резолверы должны обрабатывать любые полученные ключи, пока проверка не завершиться успешно или все полученные ключи не будут проверены.
В качестве мер для блокирования уязвимостей в резолверах ограничено максимальное число ключей DNSSEC, задействованных в процессе построения цепочки доверия, и максимальное число вычислений хэшей для NSEC3, а также лимитированы повторные попытки проверки для каждого RRSET (комбинации ключей и подписей) и каждого ответа сервера.
Уязвимости устранены в обновлениях Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90) и BIND (9.16.48, 9.18.24 и 9.19.21).
Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware, NetBSD, FreeBSD.
В версиях DNS-сервера BIND 9.16.48, 9.18.24 и 9.19.21 дополнительно устранено ещё несколько уязвимостей:
- CVE-2023-4408 — разбор больших DNS-сообщений может привести к созданию высокой нагрузки на CPU.
- CVE-2023-5517 — запрос специально оформленной обратной зоны может привести к аварийному завершению из-за срабатывания assert-проверки. Проблема проявляется только в конфигурациях с включённой настройкой «nxdomain-redirect».
- CVE-2023-5679 — рекурсивное определение хоста может привести к аварийному завершению из-за срабатывания assert-проверки на системах с включённой поддержкой DNS64 и «serve-stale» (настройки, stale-cache-enable и stale-answer-enable) .
- CVE-2023-6516 — специально оформленный рекурсивные запросы могут привести к исчерпанию доступной процессу памяти.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60599