• Все разделы
  • Статьи
  • Медиа
  • Новости
  • Нормативные материалы
  • Конференции
  • Глоссарий

Отказ в обслуживании

Карточка уязвимости

Характеристики уязвимости

Уровень опасности
Оценка CVSS
(AV:N/AC:H/Au:N/C:N/I:N/A:C)
Производитель ПО
Наименование ПО
OpenSSL (3.0.0, 3.0.1)
Описание
libssl в OpenSSL вызывает X509_verify_cert() на стороне клиента для проверки сертификата, предоставленного сервером. Эта функция может возвращать отрицательное значение для обозначения внутренней ошибки (например, нехватки памяти). Подобное отрицательное значение некорректно обрабатывается OpenSSL и заставляет функцию ввода-вывода (например, SSL_connect() или SSL_do_handshake()) вызывать SSL_get_error() для возвращения значения SSL_ERROR_WANT_RETRY_VERIFY. Предполагается, что OpenSSL возвращает подобное значение только при условии, что приложение ранее вызывало SSL_CTX_set_cert_verify_callback(). Поскольку большинство приложений этого не делают, возвращаемое значение SSL_ERROR_WANT_RETRY_VERIFY от SSL_get_error() будет абсолютно неожиданным, что приведет к некорректной работе приложения (например, аварийному завершению работы или зацикливанию). Последствия могут оказаться более серьезными, если уязвимость будет эксплуатироваться совместно с другой уязвимостью в OpenSSL 3.0, которая связана с сообщением от X509_verify_cert() о внутренней ошибке при обработке цепочки сертификатов. Подобное происходит, когда сертификат не содержит расширение Subject Alternative Name, а центр сертификации вводит ограничения для имен. Это может случиться даже с действительными цепочками.
Как исправить
Для устранения уязвимости необходимо установить последнюю версию продукта, соответствующую используемой платформе. Необходимую информацию можно получить по адресу:
https://www.openssl.org/
Ссылки