OpenSSL 1.1.1i / LibreSSL 3.3.1

OpenSSL — полноценная криптографическая библиотека с открытым исходным кодом, широко известна из-за расширения SSL/TLS, используемого в веб-протоколе HTTPS.

OpenSSL поддерживает почти все низкоуровневые алгоритмы хеширования, шифрования и электронной подписи, а также реализует большинство популярных криптографических стандартов, в том числе: позволяет создавать ключи RSA, DH, DSA, сертификаты X.509, подписывать их, формировать CSR и CRT, шифровать данные и тестировать SSL/TLS соединения. 

Из особенностей LibreSSL можно отметить ориентацию на качественную поддержку протоколов SSL/TLS с изъятием излишней функциональности, привлечением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. 

После того, как в OpenSSL была обнаружена уязвимость Heartbleed, команда разработчиков OpenBSD провела аудит кода и пришла к выводу о необходимости создания и поддержки собственного форка библиотеки. 11 апреля 2014 года был зарегистрирован домен libressl.org, а 22 апреля 2014 года объявлено о запуске проекта. 

В сертификатах X.509 для представления различных типов имён используется тип GeneralName, подмножеством которого является тип EDIPartyName. Уязвимость вызвана разыменованием нулевого указателя, возникающим при сравнении в функции GENERAL_NAME_cmp двух имён, имеющих тип EDIPartyName. Для эксплуатации уязвимости атакующий должен контролировать значения сравниваемых имён, что возможно, например, при проверке клиентом или сервером специально оформленного сертификата в списке отозванных сертификатов (CRL), который контролирует атакующий (некоторые приложения автоматически загружают CRL на основе указанного в сертификате URL).

Сформированы корректирующие выпуски криптографических библиотек OpenSSL 1.1.1i и LibreSSL 3.3.1, 3.2.3, 3.1.5, в которых устранена уязвимость (CVE-2020-1971) в обработчике структур ASN.1.


Проект OpenBSD разрабатывает нативную редакцию пакета LibreSSL собственно для OpenBSD и переносимую редакцию для Unix-подобных систем.