Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 2.5.0, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Новая ветка ознаменовала начало разработки версии, которая будет развиваться параллельно с OpenBSD 6.1 и войдёт в состав данного релиза. Ветка 2.5.x позиционируется как экспериментальная и дополняет стабильные ветки 2.3.x и 2.4.x, для которых доступны корректирующие обновления - 2.4.3 и 2.3.8. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы.

Особенности LibreSSL 2.5.0:

  • В libtls добавлена поддержка TLS-расширениий SNI (Server Name Indicator) и ALPN (Application-Layer Protocol Negotiation, используется в HTTP/2);
  • В libtls добавлен новый callback-интерфейс для интеграции собственных функций ввода/вывода;
  • Для упрощения выбора надлежащих методов шифрования libtls произведено разбиение наборов шифров на четыре группы:
    • Безопасная "secure" (TLSv1.2+AEAD+PFS)
    • Совместимая "compat" (HIGH:!aNULL)
    • Устаревшая "legacy" (HIGH:MEDIUM:!aNULL)
    • Небезопасная "insecure" (ALL:!aNULL:!eNULL)
  • Библиотека libtls теперь всегда загружает файлы удостоверяющих центров (CA), ключей и сертификатов во время вызова конфигурационной функции;
  • Добавлена поддержка проверки валидности промежуточных сертификатов через OCSP (Online Certificate Status Protocol);
  • Из кодовой базы проекта BoringSSL импортированы функции, необходимые для работы stunnel и exim: X509_check_host, X509_check_email, X509_check_ip и X509_check_ip_asc;
  • Добавлена начальная поддержка платформы iOS;
  • Усилена обработка ошибок в tls_config_set_ciphers();
  • Улучшено поведение функции arc4random на платформе Windows;
  • Обеспечена корректная обработка обнаружения конца файла (EOF) на стадии до завершения согласования TLS-соединения;
  • Поддержка обратно совместимых c SSLv2 методов согласования соединения теперь активируется только при включении TLS 1.0;
  • Прекращена поддержка Cryptographic Message Support (CMS).

Кроме того, в выпусках 2.5.0, 2.4.3 и 2.3.8 устранена уязвимость (CVE-2016-6304), которая может использоваться для инициирования утечки памяти. В LibreSSL проблема проявляется только при разрешении повторного согласования соединения (renegotiation), но на практике может привести лишь к небольшим утечкам памяти, так как для повторных согласований соединения действует ограничение в 3 пересогласования за 300 секунд. Другие недавно выявленные в OpenSSL уязвимости CVE-2016-6305, CVE-2016-6307, CVE-2016-6308 и CVE-2016-6309 не затрагивают LibreSSL, а уязвимость CVE-2016-6306 была устранена ещё два года назад. Из превентивных исправлений в LibreSSL отмечается блокировка отката на недостаточно надёжные методы хэширования для (EC)DH при использовании SNI через libssl.

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