OpenSSL Project выпустил обновление OpenSSL 1.0.2n.
В четверг, 7 декабря, OpenSSL Project выпустил обновление OpenSSL 1.0.2n, исправляющее две уязвимости. Проблемы были обнаружены исследователем Google Дэвидом Бенжамином (David Benjamin) с помощью сервиса Google OSS-Fuzz.
Уязвимость CVE-2017-3737 связана с механизмом «состояния ошибки», впервые представленным в OpenSSL 1.0.2b. Если в случае возникновения фатальной ошибки продолжаются попытки продлить рукопожатие, данный механизм вызывает немедленный сбой. Проблема заключается в том, что при непосредственном вызове функций SSL_read() или SSL_write() механизм не срабатывает должным образом.
«Если SSL_read() / SSL_write() впоследствии вызываются приложением для одного и того же объекта SSL, данные будут передаваться в незашифрованном виде непосредственно с уровня записи SSL / TLS», - говорится в уведомлении безопасности OpenSSL Project.
Поскольку для успешной эксплуатации уязвимости целевое приложение должно содержать ошибку, вызывающую SSL_read() или SSL_write() после возникновения фатальной ошибки, уязвимость отмечена как «средней опасности».
Вторая уязвимость (CVE-2017-3738) связана с переполнением буфера и позволяет атакующему получить доступ к коммуникациям, защищенным с помощью TLS. Осуществить атаку на практике довольно сложно, поэтому уязвимость отмечена как «низкой опасности». Проблема затрагивает ветки OpenSSL 1.0.2 и 1.1.0. Тем не менее, из-за низкой опасности уязвимости ветка 1.1.0 не получила обновление. Проблема будет исправлена с выходом OpenSSL 1.1.0h в свое время.