Уязвимости KeyTrap и NSEC3, затрагивающие большинство реализаций DNSSEC

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3252
Зарегистрирован: 20.08.2022

#

Уязвимости KeyTrap и NSEC3, затрагивающие большинство реализаций DNSSEC
Дата публикации:Wed, 14 Feb 2024 17:53:57 +0300




В различных реализациях протокола DNSSEC выявлены две уязвимости, затрагивающие DNS-резолверы BIND, PowerDNS, dnsmasq, Knot Resolver и Unbound. Уязвимости позволяют добиться отказа в обслуживании DNS-резолверов, выполняющих валидацию при помощи DNSSEC, из-за возникновения высокой нагрузки на CPU, мешающей обработке других запросов. Для совершения атаки достаточно отправить на DNS-резолвер, использующий DNSSEC, запрос, приводящий к обращению к специально оформленной DNS-зоне на сервере злоумышленника.




Выявленные проблемы:
  • 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 - специально оформленный рекурсивные запросы могут привести к исчерпанию доступной процессу памяти.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60599

Жизнь за Нер'зула!

Ответить