Уязвимость в LibreSSL, приводящая к пропуску проверки сертификатов TLS в nginx
В развиваемой проектом OpenBSD библиотеке LibreSSL выявлена уязвимость (CVE-2017-8301), приводящая к отсутствию проверки сертификатов TLS в приложениях, использующих API отложенной проверки на основе регистрации callback-обработчика и функции SSL_get_verify_result. Из подверженных уязвимости приложений отмечается http-сервер nginx и IRC-сервер InspIRCd. Уязвимость выявлена разработчиками дистрибутива Alpine Linux.
Проблема проявляется начиная с выпуска LibreSSL 2.5.1 и присутствует в актуальном выпуске 2.5.3. Обновление с исправлением пока находится в процессе разработки. Подключение с некорректным сертификатом возможно только если callback-обработчик всегда возвращает значение 1 и следом результат верификации оценивается через вызов функции SSL_get_verify_result(). Проблема может затрагивать как серверы, к которым подключаются по клиентским сертификатам, так и клиентское ПО, проверяющее сервер по серверному сертификату.