V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
Red HatДистрибутивredhat,nvd

Openssl

Уязвимости
182
Эксплуатируемые
1
Макс. CVSS
10
Макс. EPSS
0.99999

Распределение по критичности

Критический
8
Высокий
30
Средний
127
Низкий
17
Также сопоставлено как (исходные строки): stonegate,pix_firewall_software,instant_virtual_extranet,content_services_switch_11500,pix_firewall,stonegate_vpn_client,secure_content_accelerator,intuity_audix,okena_stormwatch,webstar,openssl,servercluster

Топ уязвимостей

CVE-2006-3738Переполнение буфера в функции SSL_get_shared_ciphers в OpenSSL 0.9.7 до 0.9.7l, 0.9.8 до 0.9.8d и более ранних версиях имеет неуказанные последствия и векторы удаленных атак, включающие длинный список шифров.
CVE-2021-3711Чтобы расшифровать данные, зашифрованные SM2, приложение должно вызвать функцию API EVP_PKEY_decrypt(). Обычно приложение вызывает эту функцию дважды. В первый раз, при входе, параметр "out" может быть NULL, а при выходе параметр "outlen" заполняется размером буфера, необходимым для хранения расшифрованного открытого текста. Затем приложение может выделить буфер достаточного размера и снова вызвать EVP_PKEY_decrypt(), но на этот раз передавая ненулевое значение для параметра "out". Ошибка в реализации кода расшифровки SM2 означает, что вычисление размера буфера, необходимого для хранения открытого текста, возвращаемого первым вызовом EVP_PKEY_decrypt(), может быть меньше фактического размера, необходимого для второго вызова. Это может привести к переполнению буфера, когда EVP_PKEY_decrypt() вызывается приложением во второй раз с буфером, который слишком мал. Злоумышленник, который может предоставить контент SM2 для расшифровки приложению, может вызвать переполнение буфера выбранными злоумышленником данными до максимума в 62 байта, изменяя содержимое других данных, хранящихся после буфера, возможно, изменяя поведение приложения или вызывая сбой приложения. Расположение буфера зависит от приложения, но обычно выделяется в куче. Исправлено в OpenSSL 1.1.1l (затронуты 1.1.1-1.1.1k).
CVE-2016-6309statem/statem.c в OpenSSL 1.1.0a не учитывает перемещение блока памяти после вызова realloc, что позволяет удаленным злоумышленникам вызывать отказ в обслуживании (use-after-free) или, возможно, выполнять произвольный код через специально созданный сеанс TLS.
CVE-2016-2842Функция doapr_outch в crypto/bio/b_print.c в OpenSSL 1.0.1 до версии 1.0.1s и 1.0.2 до версии 1.0.2g не проверяет успешность определенного выделения памяти, что позволяет удаленным злоумышленникам вызывать отказ в обслуживании (запись за пределами границ или потребление памяти) или, возможно, оказывать другое неуказанное воздействие через длинную строку, как продемонстрировано большим объемом данных ASN.1, что является другой уязвимостью, чем CVE-2016-0799.
CVE-2016-0799Функция fmtstr в crypto/bio/b_print.c в OpenSSL 1.0.1 до версии 1.0.1s и 1.0.2 до версии 1.0.2g неправильно вычисляет длины строк, что позволяет удаленным злоумышленникам вызывать отказ в обслуживании (переполнение и чтение за пределами выделенной памяти) или, возможно, оказывать другое неуказанное воздействие через длинную строку, как продемонстрировано большим объемом данных ASN.1, что является другой уязвимостью, чем CVE-2016-2842.
CVE-2016-0705Уязвимость double free в функции dsa_priv_decode в crypto/dsa/dsa_ameth.c в OpenSSL 1.0.1 до 1.0.1s и 1.0.2 до 1.0.2g позволяет удаленным злоумышленникам вызвать отказ в обслуживании (повреждение памяти) или, возможно, оказать другое не указанное воздействие через неправильно сформированный закрытый ключ DSA.
CVE-2009-3555Протокол TLS, а также протокол SSL 3.0 и, возможно, более ранние версии, используемые в Microsoft Internet Information Services (IIS) 7.0, mod_ssl в Apache HTTP Server 2.2.14 и более ранних версиях, OpenSSL до 0.9.8l, GnuTLS 2.8.5 и более ранних версиях, Mozilla Network Security Services (NSS) 3.12.4 и более ранних версиях, нескольких продуктах Cisco и других продуктах, неправильно связывает рукопожатия пересогласования с существующим соединением, что позволяет злоумышленникам "человек посередине" вставлять данные в HTTPS-сессии и, возможно, другие типы сессий, защищенные TLS или SSL, отправляя неаутентифицированный запрос, который обрабатывается ретроактивно сервером в контексте после пересогласования, что связано с атакой "plaintext injection", также известной как проблема "Project Mogul".
CVE-2007-4995Ошибка «на единицу меньше» в реализации DTLS в OpenSSL 0.9.8 до 0.9.8f позволяет удаленным злоумышленникам выполнять произвольный код через неуказанные векторы.
CVE-2023-4807Краткое описание проблемы: Реализация POLY1305 MAC (кода аутентификации сообщений) содержит ошибку, которая может повредить внутреннее состояние приложений на платформе Windows 64 при работе на новых процессорах X86_64, поддерживающих инструкции AVX512-IFMA. Краткое описание последствий: Если в приложении, использующем библиотеку OpenSSL, злоумышленник может повлиять на то, используется ли алгоритм POLY1305 MAC, состояние приложения может быть повреждено с различными зависящими от приложения последствиями. Реализация POLY1305 MAC (кода аутентификации сообщений) в OpenSSL не сохраняет содержимое энергонезависимых регистров XMM на платформе Windows 64 при вычислении MAC данных размером более 64 байт. Перед возвратом к вызывающей стороне все регистры XMM устанавливаются в ноль, а не восстанавливают свое предыдущее содержимое. Уязвимый код используется только на новых процессорах x86_64, поддерживающих инструкции AVX512-IFMA. Последствия такого рода повреждения внутреннего состояния приложения могут быть различными - от отсутствия последствий, если вызывающее приложение вообще не зависит от содержимого энергонезависимых регистров XMM, до самых серьезных последствий, когда злоумышленник может получить полный контроль над процессом приложения. Однако, учитывая, что содержимое регистров просто обнуляется, так что злоумышленник не может поместить внутрь произвольные значения, наиболее вероятным последствием, если таковые будут, будет неверный результат некоторых зависящих от приложения вычислений или сбой, приводящий к отказу в обслуживании. Алгоритм POLY1305 MAC чаще всего используется как часть CHACHA20-POLY1305 AEAD (аутентифицированное шифрование со связанными данными) алгоритма. Наиболее распространенное использование этого AEAD-шифра - с протоколом TLS версий 1.2 и 1.3, и вредоносный клиент может повлиять на то, используется ли этот AEAD- шифр сервером. Это подразумевает, что серверные приложения, использующие OpenSSL, могут быть потенциально затронуты. Однако в настоящее время нам не известно ни об одном конкретном приложении, которое могло бы быть затронуто этой проблемой, поэтому мы считаем это проблемой безопасности с низкой степенью серьезности. В качестве обходного пути поддержку инструкций AVX512-IFMA можно отключить во время выполнения, установив переменную среды OPENSSL_ia32cap: OPENSSL_ia32cap=:~0x200000 Провайдер FIPS не подвержен этой проблеме.
CVE-2006-2940OpenSSL 0.9.7 до 0.9.7l, 0.9.8 до 0.9.8d и более ранние версии позволяют злоумышленникам вызывать отказ в обслуживании (потребление ЦП) через паразитические открытые ключи с большими значениями (1) "открытой экспоненты" или (2) "открытого модуля" в сертификатах X.509, которые требуют дополнительного времени для обработки при использовании проверки подписи RSA.
CVE-2006-2937OpenSSL 0.9.7 до 0.9.7l и 0.9.8 до 0.9.8d позволяет удаленным злоумышленникам вызывать отказ в обслуживании (бесконечный цикл и потребление памяти) через вредоносные структуры ASN.1, которые вызывают неправильно обработанное условие ошибки.
CVE-2010-3864Множественные состояния гонки в ssl/t1_lib.c в OpenSSL 0.9.8f до 0.9.8o, 1.0.0 и 1.0.0a, когда многопоточность и внутреннее кэширование включены на TLS-сервере, могут позволить удаленным злоумышленникам выполнять произвольный код через данные клиента, которые вызывают переполнение буфера на основе кучи, что связано с (1) расширением имени TLS-сервера и (2) криптографией эллиптических кривых.
CVE-2009-3245OpenSSL до версии 0.9.8m не проверяет возвращаемое значение NULL из вызовов функции bn_wexpand в (1) crypto/bn/bn_div.c, (2) crypto/bn/bn_gf2m.c, (3) crypto/ec/ec2_smpl.c и (4) engines/e_ubsec.c, что имеет неуказанное воздействие и контекстно-зависимые векторы атак.
CVE-2023-5363Краткое описание проблемы: В обработке длин ключей и векторов инициализации (IV) была обнаружена ошибка. Это может привести к потенциальному усечению или переполнению во время инициализации некоторых симметричных шифров. Краткое описание последствий: Усечение IV может привести к неуникальности, что может привести к потере конфиденциальности для некоторых режимов шифрования. При вызове EVP_EncryptInit_ex2(), EVP_DecryptInit_ex2() или EVP_CipherInit_ex2() предоставленный массив OSSL_PARAM обрабатывается после установки ключа и IV. Любые изменения длины ключа через параметр "keylen" или длины IV через параметр "ivlen" внутри массива OSSL_PARAM не вступят в силу должным образом, что потенциально может привести к усечению или перечитыванию этих значений. Это затрагивает следующие шифры и режимы шифрования: RC2, RC4, RC5, CCM, GCM и OCB. Для режимов шифрования CCM, GCM и OCB усечение IV может привести к потере конфиденциальности. Например, при соблюдении рекомендаций NIST SP 800-38D раздел 8.2.1 по построению детерминированного IV для AES в режиме GCM усечение части счетчика может привести к повторному использованию IV. Как усечения, так и переполнения ключа и переполнения IV приведут к неверным результатам и в некоторых случаях могут вызвать исключение памяти. Однако в настоящее время эти проблемы не оцениваются как критически важные для безопасности. Изменение длин ключа и/или IV не считается распространенной операцией, и уязвимый API был представлен недавно. Кроме того, вероятно, что разработчики приложений заметили эту проблему во время тестирования, поскольку расшифровка не удастся, если только обе стороны в коммуникации не были в равной степени уязвимы. По этим причинам мы ожидаем, что вероятность уязвимости приложения к этому будет довольно низкой. Однако, если приложение уязвимо, то эта проблема считается очень серьезной. По этим причинам мы оценили эту проблему как умеренную в целом. Реализация OpenSSL SSL/TLS не затрагивается этой проблемой. Поставщики OpenSSL 3.0 и 3.1 FIPS не затрагиваются этой проблемой, поскольку проблема находится за пределами границы поставщика FIPS. OpenSSL 3.1 и 3.0 уязвимы для этой проблемы.
CVE-2023-0401NULL-указатель может быть разыменован при проверке подписей на PKCS7 подписанных или подписанных и зашифрованных данных. Если алгоритм хеширования, используемый для подписи, известен библиотеке OpenSSL, но реализация алгоритма хеширования недоступна, инициализация дайджеста завершится неудачей. Существует пропущенная проверка возвращаемого значения из функции инициализации, что приводит к недопустимому использованию API дайджеста, что, скорее всего, приведет к сбою. Наличие алгоритма может быть вызвано использованием конфигурации поставщиков с включенной безопасностью FIPS или, более часто, отсутствием загрузки устаревшего поставщика. Данные PKCS7 обрабатываются вызовами библиотеки SMIME, а также вызовами библиотеки временных меток (TS). Реализация TLS в OpenSSL не вызывает эти функции, однако сторонние приложения будут затронуты, если они вызовут эти функции для проверки подписей на ненадежных данных.
CVE-2023-0217Недопустимое разыменование указателя при чтении может быть вызвано, когда приложение пытается проверить неправильно сформированный открытый ключ DSA через функцию EVP_PKEY_public_check(). Это, скорее всего, приведёт к сбою приложения. Эта функция может быть вызвана на открытых ключах, предоставленных из ненадёжных источников, что может позволить злоумышленнику вызвать атаку отказа в обслуживании. Реализация TLS в OpenSSL не вызывает эту функцию, но приложения могут вызвать её, если существуют дополнительные требования безопасности, накладываемые стандартами, такими как FIPS 140-3.
CVE-2023-0216Неправильная разыменование указателя при чтении может быть вызвана, когда приложение пытается загрузить плохо сформированные данные PKCS7 с помощью функций d2i_PKCS7(), d2i_PKCS7_bio() или d2i_PKCS7_fp(). Результатом разыменования является сбой приложения, который может привести к атаке отказа в обслуживании. Тем не менее реализация TLS в OpenSSL не вызывает эту функцию, хотя сторонние приложения могут вызывать эти функции на недоверенных данных.
CVE-2023-0215Функция общедоступного API BIO_new_NDEF является вспомогательной функцией, используемой для потоковой передачи ASN.1 данных через BIO. Она в первую очередь используется внутри OpenSSL для поддержки возможностей потоковой передачи SMIME, CMS и PKCS7, но также может быть вызвана напрямую приложениями конечных пользователей. Функция принимает BIO от вызывающего, добавляет новый фильтр BIO_f_asn1 на переднюю часть, чтобы сформировать цепочку BIO, а затем возвращает новый головной элемент цепочки BIO вызывающему. При определенных условиях, например, если открытый ключ получателя CMS недействителен, новый фильтр BIO освобождается, и функция возвращает результат NULL, указывая на сбой. Однако в этом случае цепочка BIO не очищается должным образом, и BIO, переданное вызывающим, все еще сохраняет внутренние указатели на ранее освобожденный фильтр BIO. Если затем вызывающий вызовет BIO_pop() на BIO, произойдет использование после освобождения. Это, скорее всего, приведет к сбою. Этот сценарий происходит непосредственно во внутренней функции B64_write_ASN1(), которая может вызвать BIO_new_NDEF() и затем вызовет BIO_pop() на BIO. Эта внутренняя функция, в свою очередь, вызывается общеизвестными API-функциями PEM_write_bio_ASN1_stream, PEM_write_bio_CMS_stream, PEM_write_bio_PKCS7_stream, SMIME_write_ASN1, SMIME_write_CMS и SMIME_write_PKCS7. Другие функции открытого API, которые могут быть подвержены влиянию, включают i2d_ASN1_bio_stream, BIO_new_CMS, BIO_new_PKCS7, i2d_CMS_bio_stream и i2d_PKCS7_bio_stream. Командные приложения OpenSSL cms и smime также аналогично подвержены.
CVE-2022-4450Функция PEM_read_bio_ex() считывает PEM-файл из BIO и разбирает и декодирует "имя" (например, "СЕРТИФИКАТ"), любые данные заголовка и полезные данные. Если функция выполняется успешно, то аргументы "name_out", "header" и "data" заполняются указателями на буферы, содержащие соответствующие декодированные данные. Вызов функции отвечает за освобождение этих буферов. Возможно создать PEM-файл, который приводит к нулевому количеству полезных данных. В этом случае PEM_read_bio_ex() вернет код ошибки, но запомнит аргумент заголовка указателем на буфер, который уже был освобожден. Если вызывающий также освободит этот буфер, произойдет двойное освобождение. Это, вероятно, приведет к сбою. Этим может воспользоваться злоумышленник, который имеет возможность предоставить злонамеренные PEM-файлы для разбора, чтобы осуществить атаку отказа в обслуживании. Функции PEM_read_bio() и PEM_read() являются простыми обертками вокруг PEM_read_bio_ex() и, следовательно, также непосредственно затронуты. Эти функции также вызываются косвенно многими другими функциями OpenSSL, включая PEM_X509_INFO_read_bio_ex() и SSL_CTX_use_serverinfo_file(), которые также уязвимы. Некоторые внутренние использования этих функций в OpenSSL не подвержены уязвимости, потому что вызывающий не освобождает аргумент заголовка, если PEM_read_bio_ex() возвращает код ошибки. Эти места включают функции PEM_read_bio_TYPE() и декодеры, введенные в OpenSSL 3.0. Командное приложение OpenSSL asn1parse также затронуто данной проблемой.
CVE-2022-3786Переполнение буфера может быть вызвано при проверке сертификата X.509, особенно при проверке ограничений имени. Обратите внимание, что это происходит после проверки подписи цепочки сертификатов и требует, чтобы ЦС подписал вредоносный сертификат или чтобы приложение продолжало проверку сертификата, несмотря на сбой при построении пути к доверенному издателю. Злоумышленник может создать вредоносный адрес электронной почты в сертификате, чтобы переполнить произвольное количество байтов, содержащих символ `.' (десятичное число 46) в стеке. Это переполнение буфера может привести к сбою (вызывающему отказ в обслуживании). В TLS-клиенте это может быть вызвано подключением к вредоносному серверу. В TLS-сервере это может быть вызвано, если сервер запрашивает аутентификацию клиента и подключается вредоносный клиент.
CVE-2022-3602В проверке сертификатов X.509 может быть вызвано переполнение буфера, особенно при проверке ограничений имени. Обратите внимание, что это происходит после проверки подписи цепочки сертификатов и требует либо наличия ЦС, подписавшего вредоносный сертификат, либо продолжения проверки сертификата приложением, несмотря на неудачу при построении пути к доверенному издателю. Злоумышленник может создать вредоносный адрес электронной почты, чтобы переполнить четыре контролируемых злоумышленником байта в стеке. Это переполнение буфера может привести к сбою (вызывающему отказ в обслуживании) или потенциально к удаленному выполнению кода. Многие платформы реализуют защиту от переполнения стека, что смягчит риск удаленного выполнения кода. Риск может быть дополнительно снижен на основе компоновки стека для любой данной платформы/компилятора. Предварительные объявления CVE-2022-3602 описывали эту проблему как КРИТИЧЕСКУЮ. Дальнейший анализ, основанный на некоторых из смягчающих факторов, описанных выше, привел к понижению ее до ВЫСОКОЙ. Пользователям по-прежнему рекомендуется как можно скорее обновиться до новой версии. В TLS-клиенте это может быть вызвано подключением к вредоносному серверу. В TLS-сервере это может быть вызвано, если сервер запрашивает аутентификацию клиента и подключается вредоносный клиент. Исправлено в OpenSSL 3.0.7 (затронуты 3.0.0,3.0.1,3.0.2,3.0.3,3.0.4,3.0.5,3.0.6).
CVE-2022-3358OpenSSL поддерживает создание пользовательского шифра с помощью устаревшей функции EVP_CIPHER_meth_new() и связанных с ней вызовов функций. Эта функция была объявлена устаревшей в OpenSSL 3.0, и авторам приложений вместо этого рекомендуется использовать новый механизм поставщика для реализации пользовательских шифров. Версии OpenSSL с 3.0.0 по 3.0.5 некорректно обрабатывают устаревшие пользовательские шифры, передаваемые функциям EVP_EncryptInit_ex2(), EVP_DecryptInit_ex2() и EVP_CipherInit_ex2() (а также другим функциям инициализации шифрования и дешифрования с аналогичными именами). Вместо непосредственного использования пользовательского шифра он некорректно пытается получить эквивалентный шифр у доступных поставщиков. Эквивалентный шифр находится на основе NID, переданного в EVP_CIPHER_meth_new(). Предполагается, что этот NID представляет собой уникальный NID для данного шифра. Однако приложение может некорректно передать NID_undef в качестве этого значения при вызове EVP_CIPHER_meth_new(). Когда NID_undef используется таким образом, функция инициализации шифрования/дешифрования OpenSSL сопоставит NULL-шифр как эквивалентный и получит его у доступных поставщиков. Это будет успешно, если загружен поставщик по умолчанию (или если загружен сторонний поставщик, предлагающий этот шифр). Использование NULL-шифра означает, что открытый текст выдается как зашифрованный текст. Приложения затрагиваются этой проблемой только в том случае, если они вызывают EVP_CIPHER_meth_new() с использованием NID_undef и впоследствии используют его при вызове функции инициализации шифрования/дешифрования. Приложения, использующие только SSL/TLS, не подвержены этой проблеме. Исправлено в OpenSSL 3.0.6 (затронуты 3.0.0-3.0.5).
CVE-2022-1473Функция OPENSSL_LH_flush(), которая очищает хеш-таблицу, содержит ошибку, которая нарушает повторное использование памяти, занимаемой удаленными записями хеш-таблицы. Эта функция используется при декодировании сертификатов или ключей. Если долгоживущий процесс периодически декодирует сертификаты или ключи, использование памяти будет расширяться без ограничений, и процесс может быть завершен операционной системой, что приведет к отказу в обслуживании. Кроме того, обход пустых записей хеш-таблицы будет занимать все больше времени. Как правило, такими долгоживущими процессами могут быть TLS-клиенты или TLS-серверы, настроенные на принятие аутентификации клиентского сертификата. Функция была добавлена в версии OpenSSL 3.0, поэтому более старые выпуски не подвержены этой проблеме. Исправлено в OpenSSL 3.0.3 (затронуты 3.0.0,3.0.1,3.0.2).
CVE-2022-0778Функция BN_mod_sqrt(), которая вычисляет модульный квадратный корень, содержит ошибку, которая может привести к бесконечному циклу для непростых модулей. Внутри эта функция используется при анализе сертификатов, содержащих открытые ключи эллиптической кривой в сжатой форме, или явные параметры эллиптической кривой с базовой точкой, закодированной в сжатой форме. Можно вызвать бесконечный цикл, создав сертификат с недействительными явными параметрами кривой. Поскольку анализ сертификата происходит до проверки подписи сертификата, любой процесс, анализирующий сертификат, предоставленный извне, может быть подвержен DoS-атаке. Бесконечный цикл также может быть достигнут при анализе созданных закрытых ключей, поскольку они могут содержать явные параметры эллиптической кривой. Таким образом, уязвимые ситуации включают: - TLS-клиенты, потребляющие сертификаты сервера - TLS-серверы, потребляющие сертификаты клиента - Хостинг-провайдеры, принимающие сертификаты или закрытые ключи от клиентов - Центры сертификации, анализирующие запросы на сертификацию от подписчиков - Все остальное, что анализирует параметры ASN.1 эллиптической кривой Также любые другие приложения, которые используют BN_mod_sqrt(), где злоумышленник может контролировать значения параметров, уязвимы для этой DoS-проблемы. В версии OpenSSL 1.0.2 открытый ключ не анализируется во время начального анализа сертификата, что немного затрудняет запуск бесконечного цикла. Однако любая операция, требующая открытого ключа из сертификата, вызовет бесконечный цикл. В частности, злоумышленник может использовать самоподписанный сертификат для запуска цикла во время проверки подписи сертификата. Эта проблема затрагивает версии OpenSSL 1.0.2, 1.1.1 и 3.0. Она была решена в выпусках 1.1.1n и 3.0.2 15 марта 2022 года. Исправлено в OpenSSL 3.0.2 (затронуты 3.0.0,3.0.1). Исправлено в OpenSSL 1.1.1n (затронуты 1.1.1-1.1.1m). Исправлено в OpenSSL 1.0.2zd (затронуты 1.0.2-1.0.2zc).
CVE-2021-23840Вызовы EVP_CipherUpdate, EVP_EncryptUpdate и EVP_DecryptUpdate могут привести к переполнению аргумента длины вывода в некоторых случаях, когда длина ввода близка к максимально допустимой длине для целого числа на платформе. В таких случаях возвращаемое значение из вызова функции будет 1 (что указывает на успех), но значение длины вывода будет отрицательным. Это может привести к некорректному поведению или сбою приложений. OpenSSL версий 1.1.1i и ниже подвержены этой проблеме. Пользователям этих версий следует обновиться до OpenSSL 1.1.1j. OpenSSL версий 1.0.2x и ниже подвержены этой проблеме. Однако OpenSSL 1.0.2 больше не поддерживается и больше не получает публичные обновления. Клиенты, пользующиеся премиум-поддержкой OpenSSL 1.0.2, должны обновиться до версии 1.0.2y. Другим пользователям следует обновиться до версии 1.1.1j. Исправлено в OpenSSL 1.1.1j (затронуты версии 1.1.1-1.1.1i). Исправлено в OpenSSL 1.0.2y (затронуты версии 1.0.2-1.0.2x).
Перейти к вендору →Открыть в каталоге с фильтром по продукту →