03.07.2022

Уязвимость в OpenSSL и LibreSSL, приводящая к зацикливанию при обработке некорректных сертификатов

Доступны корректирующие выпуски криптографической библиотеки OpenSSL 3.0.2 и 1.1.1n. В обновлении устранена уязвимость (CVE-2022-0778), которую можно использовать для организации отказа в обслуживании (бесконечное зацикливание обработчика). Для эксплуатации уязвимости достаточно добиться обработки специально оформленного сертификата. Проблема проявляется как в серверных, так и в клиентских приложениях, которые могут обрабатывать переданные пользователем сертификаты.

Проблема вызвана ошибкой в функции BN_mod_sqrt(), приводящей к зацикливанию при вычислении квадратного корня по модулю, отличному от простого числа. Функция применяется при разборе сертификатов с ключами на базе эллиптических кривых. Эксплуатация сводится к подстановке в сертификат неверных параметров эллиптической кривой. Так как проблема проявляется на стадии до проверки цифровой подписи сертификата, атака может быть совершена неаутентифицированным пользователем, способным добиться передачи клиентского или серверного сертификата в приложения, использующие OpenSSL.

Уязвимость также затрагивает развиваемую проектом OpenBSD библиотеку LibreSSL, исправление для которой предложено в корректирующих выпусках LibreSSL 3.3.6, 3.4.3 и 3.5.1.

Источник.