Обновление OpenSSL с устранением уязвимости в реализации TLS
Доступны корректирующие выпуски криптографической библиотеки OpenSSL 1.0.2r и 1.1.1b. В выпуске 1.0.2r устранена уязвимость (CVE-2019-1559), которая связана с некорректной обработкой нулевых байтов в добавочном заполнении (padding oracle) при возникновении ошибки и двойном вызове фунеции SSL_shutdown в приложении.
Уязвимость позволяет разделять ситуации в случае получения некорректного добавочного заполнения и некорректного MAC. Манипулируя информацией о корректности блоков добавочного заполнения атакующий может путем перебора определить содержимое шифротекста. Уязвимость отнесена к категории проблем среднего уровня опасности так как для атаки требуется применение нетипичных наборов шифров ("non-stitched") и необходимо, чтобы приложение вызывало функцию SSL_shutdown дважды (один раз для отправки уведомления close_notify, а второй для приема).
Выявившие уязвимость исследователи также проанализировали реализации TLS на миллионе самых популярных сайтов по рейтингу Alexa и пришли к выводу, что 1.83% из них подвержены тем или иным уязвимостям, связанным с определением корректности блоков добавочного заполнения. Всего в ходе проверки было определено около 100 различных уязвимостей.
Уязвимость не затрагивает ветку 1.1.1. В выпуске 1.1.1b исправлена ошибка в реализации "DTLS over SCTP", которая приводила к нарушению совместимости с прошлыми версиями OpenSSL, в том числе с ветками 1.1.0 и 1.0.2. Кроме того, в новой версии изменены callback-сигналы с информацией о начале и конце финального обмена сообщениями в процессе согласования соединения в TLSv1.3.