Многочисленные уязвимости OpenSSL в продуктах OneSpan

Консультативный код vasco-sa-20150413-openssl

Редакция № 1.0

Дата выпуска 3 сентября 2015 10:53 UTC + 1

Последнее обновление 3 сентября 2015 г. 10:53 UTC + 1

Резюме

19 марта 2015 года проект OpenSSL опубликовал рекомендации по безопасности, описывающие четырнадцать уязвимостей в библиотеке OpenSSL. Уязвимости упоминаются следующим образом:

OpenSSL 1.0.2 ClientHello sigalgs DoS (CVE-2015-0291)

Реклассифицировано: RSA тихо понижает до EXPORT_RSA [Клиент] (CVE-2015-0204)

Многоблочный поврежденный указатель (CVE-2015-0290)

Ошибка сегментации в DTLSv1_listen (CVE-2015-0207)

Ошибка сегментации в ASN1_TYPE_cmp (CVE-2015-0286)

Сегментация для неверных параметров PSS (CVE-2015-0208)

Повреждение структуры ANS.1 из-за повреждения памяти (CVE-2015-0287)

Разыменование указателя NULL в PKCS7 (CVE-2015-0289)

Декодирование Base64 (CVE-2015-0292)

DoS через достижимое утверждение на серверах SSLv2 (CVE-2015-0293)

Пустой CKE с аутентификацией клиента и DHE (CVE-2015-1787)

Рукопожатие с ненасыщенным PRNG (CVE_2015-0285)

Использовать после освобождения после ошибки d2i_ECPrivatekey (CVE-2015-0209)

X509_to_X509_REQ NULL указатель разыменования (CVE-2015-0288)

Несколько продуктов OneSpan включают в себя версию библиотеки OpenSSL, подверженную одной или нескольким уязвимостям, которые могут позволить удаленному злоумышленнику, не прошедшему проверку подлинности, выполнить атаку типа «человек посередине», внедрить данные сеанса SSL / TLS или нарушить доступность службы.

Затронутые продукты

Следующие продукты подвержены одной или нескольким из перечисленных выше уязвимостей:

IDENTIKEY Федерация Сервер 1.4, 1.5

IDENTIKEY Сервер аутентификации 3.4 SR1, 3.5, 3.6

Все поддерживаемые версии устройства IDENTIKEY (Virtual)

aXsGUARD Gatekeeper 7.7.x, 8.0.0, 8.1.0

Затронутые продукты

 

Описание

Следующие описания уязвимостей взяты из рекомендаций по безопасности OpenSSL

OpenSL 1.0.2 ClientHello sigals DoS (CVE-2015-0291)

Если клиент подключается к серверу OpenSSL 1.0.2 и повторно согласовывает с недопустимым расширением алгоритмов подписи, произойдет разыменование нулевого указателя. Это может быть использовано в Dos-атаке на сервер

Реклассифицировано: RSA тихо понижает до EXPORT_RSA [Клиент] (CVE-2015-0204)

Эта проблема безопасности была ранее объявлена проектом OpenSSL и классифицирована как «низкая» серьезность. Этот уровень серьезности был изменен на «высокий».

Это было классифицировано как низкий, потому что первоначально считалось, что поддержка серверного экспортного шифра RSA была редкой: клиент был уязвим только для атаки MITM против сервера, который поддерживает экспортный шифровальный пакет RSA. Недавние исследования показали, что поддержка экспортных шифров RSA встречается гораздо чаще.

Многоблочный поврежденный указатель (CVE-2015-0290)

OpenSSL 1.0.2 представила «мультиблочное» улучшение производительности. Эта функция применяется только на платформах 64-битной архитектуры x86, которые поддерживают инструкции AES NI. Дефект в реализации «мультиблока» может привести к тому, что внутренний буфер записи OpenSSL станет неправильно установленным в NULL при использовании неблокирующего ввода-вывода. Как правило, когда пользовательское приложение использует сокет BIO для записи, это приведет только к сбою соединения. Однако, если используется какой-то другой BIO, вполне вероятно, что произойдет сбой сегментации, что приведет к потенциальной DoS-атаке.

Ошибка сегментации в DTLSv1_listen (CVE-2015-0207)

Функция DTLSv1_listen предназначена для сохранения состояния и обрабатывает начальный ClientHello от многих партнеров. Обычно пользовательский код циклически повторяет вызов DTLSv1_listen до получения действительного ClientHello со связанным файлом cookie. Дефект в реализации DTLSv1_listen означает, что состояние сохраняется в объекте SSL от одного вызова к другому, что может привести к ошибке сегментации. Ошибки при обработке начального ClientHello могут вызвать этот сценарий. Примером такой ошибки может быть то, что только клиент DTLS1.0 пытается подключиться к серверу только DTLS1.2.

Ошибка сегментации в ASN1_TYPE_cmp (CVE-2015-0286)

Функция ASN1_TYPE_cmp завершится с ошибкой чтения, если будет предпринята попытка сравнить логические типы ASN.1. Поскольку ASN1_TYPE_cmp используется для проверки согласованности алгоритма подписи сертификата, его можно использовать для сбоя любой операции проверки сертификата и использования в DoS-атаке. Любое приложение, которое выполняет проверку сертификата, уязвимо, включая клиентов и серверы OpenSSL, которые включают аутентификацию клиента.

Ошибка сегментации для неверных параметров PSS (CVE-2015-0208)

Процедуры проверки подписи будут аварийно завершаться с разыменованием нулевого указателя, если они представлены подписью ASN.1 с использованием алгоритма RSA PSS и недопустимых параметров. Поскольку эти процедуры используются для проверки алгоритмов подписи сертификата, их можно использовать для сбоя любой операции проверки сертификата и использования в DoS-атаке. Любое приложение, которое выполняет проверку сертификата, уязвимо, включая клиентов и серверы OpenSSL, которые включают аутентификацию клиента.

Повреждение памяти при повторном использовании структуры ASN.1 (CVE-2015-0287)

Повторное использование структуры при разборе ASN.1 может позволить злоумышленнику вызвать повреждение памяти из-за неправильной записи. Такое повторное использование крайне нежелательно и считается редким явлением.
Это может повлиять на приложения, которые анализируют структуры, содержащие компоненты CHOICE или ANY DEFINED BY. Однако синтаксический анализ сертификата (d2i_X509 и связанные с ним функции) не затрагивается. Клиенты и серверы OpenSSL не затрагиваются.

Разыменование указателя NULL в PKCS7 (CVE-2015-0289)

Код синтаксического анализа PKCS # 7 неправильно обрабатывает отсутствующий внешний ContentInfo. Злоумышленник может создать искаженные BLOB-объекты PKCS # 7 в кодировке ASN.1 с отсутствующим содержимым и инициировать разыменование нулевого указателя при разборе.
Это влияет на приложения, которые проверяют подписи PKCS # 7, дешифруют данные PKCS # 7 или иным образом анализируют структуры PKCS # 7 из ненадежных источников. Клиенты и серверы OpenSSL не затрагиваются.

Декодирование Base64 (CVE-2015-0292)

В предыдущих версиях OpenSSL существовала уязвимость, связанная с обработкой данных в кодировке base64. Может быть затронут любой путь кода, который считывает данные base64 из ненадежного источника (например, процедуры обработки PEM).
Вредоносные данные базы 64 могут вызвать ошибку сегментации или повреждение памяти. Эта проблема решалась в предыдущих версиях OpenSSL, но до сих пор не была включена ни в одну рекомендацию по безопасности.

DoS через достижимое утверждение на серверах SSLv2 (CVE-2015-0293)

Злонамеренный клиент может запустить OPENSSL_assert (то есть, прервать) на серверах, которые поддерживают SSLv2 и позволяют экспортировать комплекты шифров, отправив специально созданное сообщение SSLv2 CLIENT-MASTER-KEY

Пустой CKE с аутентификацией клиента и DHE (CVE-2015-1787)

Если используется аутентификация клиента, то сервер может вызвать ошибку в случае, если выбран шифровальный комплект DHE и сообщение ClientKeyExchange нулевой длины отправляется клиентом. Это может быть использовано в DoS-атаке.

Рукопожатие с ненасыщенным PRNG (CVE-2015-0285)

При определенных условиях клиент OpenSSL 1.0.2 может выполнить рукопожатие с незаполненным PRNG. Условия: 

Клиент находится на платформе, где PRNG не был посеян автоматически, а пользователь не посеял вручную

Была использована специфическая для протокола версия метода клиента (т.е. не SSL_client_methodv23)

Используется набор шифров, который не требует дополнительных случайных данных от PRNG, кроме первоначального случайного клиента ClientHello (например, PSK-RC4-SHA).

Если рукопожатие прошло успешно, то использованное случайное значение клиента будет сгенерировано из PRNG с недостаточной энтропией, и, следовательно, выходные данные могут быть предсказуемыми.

Использовать после освобождения после ошибки d2i_ECPrivatekey (CVE-2015-0209)

Искаженный файл закрытого ключа EC, использованный функцией d2i_ECPrivateKey, может привести к использованию после освобождения. Это, в свою очередь, может вызвать двойное освобождение в нескольких функциях синтаксического анализа закрытого ключа (например, d2i_PrivateKey или EVP_PKCS82PKEY) и может привести к DoS-атаке или повреждению памяти для приложений, которые получают закрытые ключи EC из ненадежных источников. Этот сценарий считается редким.

X509_to_X509_REQ NULL указатель разыменования (CVE-2015-0288)

Функция X509_to_X509_REQ завершится с ошибкой разыменования указателя NULL, если ключ сертификата недействителен. Эта функция редко используется на практике.

Оценка серьезности

В приведенных ниже таблицах указан показатель уязвимости CVSS 2.0 для уязвимостей varios.

OpenSSL 1.0.2 ClientHello sigalgs DoS (CVE-2015-0291)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

RSA тихо понижается до EXPORT_RSA [Клиент] (CVE-2015-0204)

Базовая оценка CVSS: 4,3

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkMediumNone требуетсяNonePartialNone

Многоблочный поврежденный указатель (CVE-2015-0290)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

Ошибка сегментации в DTLSv1_listen (CVE-2015-0207)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

Ошибка сегментации в ASN1_TYPE_cmp (CVE-2015-0286)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

Ошибка сегментации для неверных параметров PSS (CVE-2015-0208)

Базовая оценка CVSS: 4,3

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkMediumNone требуетсяNoneNonePartial

Повреждение памяти при повторном использовании структуры ASN.1 (CVE-2015-0287)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

Разыменование указателя NULL в PKCS7 (CVE-2015-0289)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

Декодирование Base64 (CVE-2015-0292)

Базовая оценка CVSS: 7,5

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone requiredPartialPartialPartial

DoS через достижимое утверждение на серверах SSLv2 (CVE-2015-0293)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

Пустой CKE с аутентификацией клиента и DHE (CVE-2015-1787)

Базовая оценка CVSS: 2,6

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkHighNone требуетсяNoneNonePartial

Рукопожатие с ненасыщенным PRNG (cve-2015-0285)

Базовая оценка CVSS: 4,3

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkMediumNone требуетсяPartialNoneNone

Использовать после освобождения после ошибки d2i_ECPrivatekey (CVE-2015-0209)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkMediumНе требуетсяPartialPartialPartial

X509_to_x509_REQ NULL указатель разыменования (CVE-2015-0288)

Базовая оценка CVSS: 5,0

Access VectorAccess СложностьАутентификацияВлияние на конфиденциальностьВлияние на целостностьДоступность

NetworkLowNone обязательныйNoneNonePartial

Исправления продукта

OneSpan исправит эти уязвимости в следующих выпусках следующих серверных продуктов:

IDENTIKEY Appliance 3.8.9.0

IDENTIKEY Сервер аутентификации 3.8

IDENTIKEY Федерация Сервер 1.6

Для aXsGUARD Gatekeeper 8.2

OneSpan рекомендует пользователям для аутентификации использовать IDENTIKEY Authentication Server 3.4 SR1 и 3.5 для обновления до версии 3.6. OneSpan рекомендует клиентам, использующим IDENTIKEY Authentication Server 3.6 для аутентификации, обновить библиотеку glibc, используя систему обновления своего дистрибутива.

Место расположения

Для продуктов aXsGUARD Gatekeeper:

OneSpan развернет исправления через службу автоматического обновления. Клиенты, которые не позволяют своей системе получать обновления через эту службу, должны связаться с OneSpan для получения инструкций о том, как получить исправление.

Для других продуктов

Клиенты с контрактом на техническое обслуживание могут получить фиксированные выпуски продуктов от MyMaintenance. Клиенты без контракта на техническое обслуживание должны связаться с местным торговым представителем.

Ссылка

https://www.openssl.org/новости/secadv_20150319.txt

Правовая оговорка

В то время как КАЖДЫЙ РАЗУМНЫЙ УСИЛИЯ СДЕЛАН ДЛЯ ОБРАБОТКИ И ПРЕДОСТАВЛЕНИЯ ТОЧНОЙ ИНФОРМАЦИИ, ВСЕ СОДЕРЖАНИЕ И ИНФОРМАЦИЯ В НАСТОЯЩЕМ ДОКУМЕНТЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ» И «КАК ДОСТУПНО», БЕЗ КАКИХ-ЛИБО ПРЕДСТАВЛЕНИЯ ИЛИ ПРИГОДНОСТИ ИЛИ В СООТВЕТСТВИИ С ИСПОЛЬЗОВАНИЕМ НИКАКОГО СРОКА ПОЛНОСТЬЮ ИЛИ ПОДХОДА ИЛИ ЛЮБОЙ ГАРАНТИИ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОГО ОБЕСПЕЧЕНИЯ ИЛИ ПРИГОДНОСТИ ДЛЯ ОСОБЕННОГО ИСПОЛЬЗОВАНИЯ ИЛИ ЦЕЛИ. ВЫ ИСПОЛЬЗУЕТЕ ЭТОТ ДОКУМЕНТ, ПРЕДОСТАВЛЯЕТСЯ ЛЮБАЯ ИНФОРМАЦИЯ ИЛИ МАТЕРИАЛЫ, СВЯЗАННЫЕ С ЭТОМ ДОКУМЕНТОМ, НА СВОЙ СТРАХ И РИСК. VASCO оставляет за собой право изменять или обновлять информацию в этом документе в любое время и по своему усмотрению, а также когда новая или дополнительная информация становится доступной.

Copyright © 2015 VASCO Data Security, Inc., VASCO Data Security International GmbH. Все права защищены.

🖨 Многочисленные уязвимости OpenSSL в продукте VASCO s