В OpenSSL нашли две опасные уязвимости
В программной библиотеке OpenSSL 25 марта обнаружили две особо опасные уязвимости. Это произошло с выпуском исправленной версии ПО OpenSSL 1.1.1k.
Первая — обход проверки сертификатов (CVE-2021–3450) — возникла в результате реализации кода в v1.1.1h для выполнения дополнительной проверки достоверности сертификатов с использованием определенных криптографических параметров.
Включение строгой проверки привело к тому, что она, наоборот, перестала работать.
В затронутых приложениях установлен флаг проверки X509_V_FLAG_X509_STRICT, но не задана цель проверки сертификата. В некоторых случаях клиентские или серверные приложения TLS переопределяли цель по умолчанию.
Об уязвимости сообщил 18 марта 2021 года Бенджамин Кадук из Akamai. Томаш Мраз, бывший главный инженер-программист Red Hat, выпустил патч. В настоящее время он является одним из основных разработчиков OpenSSL.
Второй недостаток, разыменование нулевого указателя (CVE-2021–3449), может привести к сбою сервера OpenSSL с помощью злонамеренно созданного сообщения ClientHello. Серверы уязвимы, если у них есть TLSv1.2 и включено повторное согласование, хотя обычно эта функция выставлена по умолчанию.
Оказались затронуты все предыдущие версии OpenSSL 1.1.1, поэтому тем, кто обновляет свое программное обеспечение, следует использовать OpenSSL 1.1.1k, который включает исправления. OpenSSL 1.0.2 не затронут.
Debian и Ubuntu выпустили патчи.
В феврале разработчики OpenSSL выпустили исправления для трех уязвимостей. Эксплуатация двух из них позволяла осуществлять атаки типа «отказ в обслуживании» (DoS). Третьей (CVE-2021–23841) была уязвимость разыменования нулевого указателя.
OpenSSL широко используется для реализации протоколов Transport Layer Security (TLS) и Secure Sockets Layer (SSL), которые поддерживают зашифрованные сетевые соединения. Альтернативы, среди прочего, включают BoringSSL и LibreSSL.