В конце прошлой недели разработчики проекта OpenSSL представили исправление двух уязвимостей, одна из которых была оценена как критическая. Проблемы распространялись на версии OpenSSL 1.0.1 и 1.0.2, поэтому было представлено два новых релиза: 1.0.1r и 1.0.2f.
Критическая уязвимость получила идентификатор CVE-2016-0701 и была обнаружена в версии 1.0.2. Брешь относилась к работе алгоритма Диффи-Хеллмана (DH): как оказалось, в некоторых случаях серверы использовали одни и те же, повторяющиеся простые числа, что значительно ослабляло криптографию. Злоумышленник мог совершить множество «рукопожатий» с уязвимой машиной и, фактически, по кусочкам собрать ключ дешифровки.
Корень проблемы скрывался в опции SSL_OP_SINGLE_DH_USE, которая была отключена по умолчанию. Вышедший патч переводит SSL_OP_SINGLE_DH_USE во включенное по умолчанию состояние, то есть сервер более не будет использовать одну и ту же секретную экспоненту DH. Стоит отметить, что многие популярные приложения не были подвержены данной проблеме и до выхода исправления. Так, разработчики Apache уже давно включили SSL_OP_SINGLE_DH_USE сами.
Вторая, менее опасная уязвимость получила идентификатор CVE-2015-3197 и затрагивает как версию 1.0.2, так и 1.0.1. Баг позволял злоумышленнику принудительно понизить SSLv3-соединение до менее надежного SSLv2 через SSL_OP_NO_SSLv2. Атаку можно было осуществить, даже если SSLv2 шифрование отключено на сервере вовсе.
Фото: pixabay.com