Обновление OpenSSL 3.0.1 и 1.1.1m с устранением уязвимости

Доступны корректирующие выпуски криптографической библиотеки OpenSSL 3.0.1 и 1.1.1m, в которых устранена уязвимость (CVE-2021–4044), а также исправлено около десятка ошибок.

Уязвимость присутствует в реализации клиентов SSL/TLS и связана с тем, что библиотека libssl некорректно обрабатывает отрицательные значения кодов ошибок, возвращаемые функцией X509_verify_cert (), вызываемой для проверки сертификата, переданного клиенту сервером. Отрицательные коды возвращаются при возникновении внутренних ошибок, например, в случае невозможности выделить память под буфер. В случае возвращения подобной ошибки последующий вызов функций ввода/вывода, таких как SSL_connect () и SSL_do_handshake (), приведёт к возвращению неуспешного завершения и кода ошибки SSL_ERROR_WANT_RETRY_VERIFY, который должен возвращаться только если приложение раннее совершало вызов SSL_CTX_set_cert_verify_callback ().

Так как большинство приложении не вызывают SSL_CTX_set_cert_verify_callback (), появление ошибки SSL_ERROR_WANT_RETRY_VERIFY может быть неверно истолковано и привести к аварийному завершению, зацикливанию или другим некорректным реакциям. Наибольшую опасность проблема представляет в комбинации с другой ошибкой в OpenSSL 3.0, приводящей к возникновению внутренней ошибки при обработке в X509_verify_cert () сертификатов без расширения «Subject Alternative Name», но с привязками к именам в ограничениях использования. В этом случае атака может привести к зависящим от приложений аномалиям при обработке сертификатов и установке сеансов TLS.



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

© OpenNet