Openssl-engines
Уязвимости
36
Эксплуатируемые
0
Макс. CVSS
9.8
Макс. EPSS
0.95764
Распределение по критичности
Критический
2
Высокий
3
Средний
28
Низкий
3
Также сопоставлено как (исходные строки): openssl-engines
Топ уязвимостей
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-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-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-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).
CVE-2022-2068В дополнение к инъекции shell-команд c_rehash, идентифицированной в CVE-2022-1292, в результате проверки кода были обнаружены дополнительные обстоятельства, при которых скрипт c_rehash неправильно очищает метасимволы shell для предотвращения инъекции команд. Когда CVE-2022-1292 был исправлен, не было обнаружено, что в скрипте есть другие места, где имена файлов хэшируемых сертификатов, возможно, передавались в команду, выполняемую через shell. Этот скрипт распространяется некоторыми операционными системами таким образом, что он выполняется автоматически. В таких операционных системах злоумышленник может выполнять произвольные команды с привилегиями скрипта. Использование скрипта c_rehash считается устаревшим и должно быть заменено инструментом командной строки OpenSSL rehash. Исправлено в OpenSSL 3.0.4 (затронуты 3.0.0,3.0.1,3.0.2,3.0.3). Исправлено в OpenSSL 1.1.1p (затронуты 1.1.1-1.1.1o). Исправлено в OpenSSL 1.0.2zf (затронуты 1.0.2-1.0.2ze).
CVE-2022-1292Скрипт c_rehash неправильно очищает метасимволы оболочки, чтобы предотвратить внедрение команд. Этот скрипт распространяется некоторыми операционными системами таким образом, что он выполняется автоматически. В таких операционных системах злоумышленник может выполнять произвольные команды с привилегиями скрипта. Использование скрипта c_rehash считается устаревшим и должно быть заменено инструментом командной строки OpenSSL rehash. Исправлено в OpenSSL 3.0.3 (затронуты 3.0.0, 3.0.1, 3.0.2). Исправлено в OpenSSL 1.1.1o (затронуты 1.1.1-1.1.1n). Исправлено в OpenSSL 1.0.2ze (затронуты 1.0.2-1.0.2zd).
CVE-2018-0739Созданные типы ASN.1 с рекурсивным определением (например, те, которые можно найти в PKCS7) могут в конечном итоге превысить стек, учитывая вредоносный ввод с чрезмерной рекурсией. Это может привести к атаке типа «отказ в обслуживании». В SSL/TLS нет таких структур, которые поступают из ненадежных источников, поэтому это считается безопасным. Исправлено в OpenSSL 1.1.0h (затронуты 1.1.0-1.1.0g). Исправлено в OpenSSL 1.0.2o (затронуты 1.0.2b-1.0.2n).
CVE-2015-1793Функция X509_verify_cert в crypto/x509/x509_vfy.c в OpenSSL 1.0.1n, 1.0.1o, 1.0.2b и 1.0.2c неправильно обрабатывает значения X.509 Basic Constraints cA во время идентификации альтернативных цепочек сертификатов, что позволяет удаленным злоумышленникам подделывать роль центра сертификации и вызывать непреднамеренные проверки сертификатов через действительный конечный сертификат.
CVE-2024-12797Обзор проблемы: клиенты, использующие RFC7250 Raw Public Keys (RPKs) для аутентификации сервера, могут не заметить, что сервер не был аутентифицирован, потому что рукопожатия не прерываются, как ожидалось, когда установлен режим проверки SSL_VERIFY_PEER.
Обзор влияния: TLS и DTLS соединения, использующие необработанные открытые ключи, могут быть уязвимы к атакам типа «человек посередине», если не обнаружена ошибка аутентификации сервера клиентами.
RPK по умолчанию отключены как в TLS-клиентах, так и в TLS-серверах. Проблема возникает только тогда, когда TLS-клиенты явно включают использование RPK со стороны сервера, и сервер, в свою очередь, позволяет отправку RPK вместо цепочки сертификатов X.509. Затронуты те клиенты, которые затем полагаются на отказ рукопожатия, когда RPK сервера не соответствует одному из ожидаемых открытых ключей, установив режим проверки в SSL_VERIFY_PEER.
Клиенты, которые включают открытые ключи необработанного типа на стороне сервера, все же могут узнать, что проверка открытых ключей необработанного типа не удалась, вызвав SSL_get_verify_result(), и те, кто это делает и принимает соответствующие меры, не подвержены воздействию. Эта проблема была введена в начальной реализации поддержки RPK в OpenSSL 3.2.
Модули FIPS в 3.4, 3.3, 3.2, 3.1 и 3.0 не подвержены этой проблеме.
CVE-2024-5535Резюме проблемы: Вызов функции API OpenSSL SSL_select_next_proto с пустым буфером поддерживаемых клиентских протоколов может вызвать сбой или отправку содержимого памяти на другую сторону.
Резюме влияния: Переполнение буфера может иметь ряд потенциальных последствий, таких как неожиданное поведение приложения или сбой. В частности, эта проблема может привести к тому, что до 255 байтов произвольных личных данных из памяти будут отправлены на другую сторону, что приведет к потере конфиденциальности. Однако только те приложения, которые напрямую вызывают функцию SSL_select_next_proto с пустым списком поддерживаемых клиентских протоколов, подвержены этой проблеме. Это обычно никогда не будет действительным сценарием и обычно не контролируется злоумышленником, но может произойти случайно в случае ошибки конфигурации или программирования в приложении, вызывающем его.
Функция API OpenSSL SSL_select_next_proto обычно используется TLS-приложениями, которые поддерживают ALPN (Application Layer Protocol Negotiation) или NPN (Next Protocol Negotiation). NPN устарела и никогда не была стандартизирована, от нее отказались в пользу ALPN. Мы считаем, что ALPN значительно более широко используется, чем NPN. Функция SSL_select_next_proto принимает список протоколов от сервера и список протоколов от клиента и возвращает первый протокол, который появляется в списке сервера и также появляется в списке клиента. В случае отсутствия перекрытия между двумя списками она возвращает первый элемент из списка клиента. В любом случае она сигнализирует, было ли обнаружено перекрытие между двумя списками. В случае вызова функции SSL_select_next_proto с нулевым списком клиента она не замечает это условие и возвращает память, идущую сразу за указателем списка клиента (и сообщает, что не было перекрытия в списках).
Эта функция обычно вызывается из файлового приложения на стороне сервера для ALPN или из файлового приложения на стороне клиента для NPN. В случае ALPN список протоколов, предоставляемый клиентом, гарантируется libssl как никогда не равный нулю. Список протоколов сервера приходит из приложения и обычно не должен ожидаться, что он будет равен нулю. Если функция SSL_select_next_proto была вызвана как ожидается (с переправленным списком клиента, переданным в параметры client/client_len), то приложение не будет уязвимо для этой проблемы. Если приложение случайно было сконфигурировано с нулевым списком сервера и случайно передало этот нулевой список сервера в параметры client/client_len и дополнительно не обработало корректно ответ "нет перекрытия" (что обычно приводит к сбою установки соединения в ALPN), тогда оно будет уязвимо к этой проблемы.
В случае NPN протокол позволяет клиенту выборочно выбрать протокол, когда нет перекрытия. OpenSSL возвращает первый клиентский протокол в случае отсутствия перекрытия для поддержки этого. Список клиентских протоколов приходит из приложения и обычно не должен ожидаться, что он будет равен нулю. Однако, если функция SSL_select_next_proto случайно вызывается с client_len равным 0, будет возвращен недействительный указатель памяти. Если приложение использует этот вывод в качестве выборочного протокола, тогда возникнет потеря конфиденциальности.
Эта проблема оценена как низкой серьезности, так как приложение, скорее всего, будет уязвимо, если оно использует NPN вместо ALPN - но NPN не широко используется. Для этого также требуется ошибка конфигурации приложения или программирования. Наконец, эта проблема обычно не будет под контролем злоумышленника, что делает активную эксплуатацию маловероятной.
Модули FIPS в версиях 3.3, 3.2, 3.1 и 3.0 не подвергаются этой проблеме.
Из-за низкой серьезности этой проблемы мы не выпустим новые релизы OpenSSL в настоящее время. Исправление будет включено в следующие релизы, когда они станут доступны.
CVE-2023-0464Всем поддерживаемым версиям OpenSSL была выявлена уязвимость, связанная с верификацией цепочек сертификатов X.509, которые включают ограничения политики. Злоумышленники могут использовать эту уязвимость для создания злонамеренной цепочки сертификатов, что приводит к эквивалентному использованию вычислительных ресурсов и, как следствие, к атаке отказа в обслуживании (DoS) на затронутых системах. Обработка политики отключена по умолчанию, но может быть включена путем передачи аргумента `-policy` командам командной строки или вызова функции `X509_VERIFY_PARAM_set1_policies()`.
CVE-2022-4304Существуют временные каналы на основе побочных эффектов в реализации RSA-разшифровки OpenSSL,
которые могут быть достаточны для восстановления открытого текста через сеть в атаке
в стиле Блейхенбахера. Чтобы достичь успешной расшифровки, злоумышленнику
необходимо было бы иметь возможность отправить очень большое количество пробных сообщений для
расшифровки. Уязвимость затрагивает все режимы заполнения RSA: PKCS#1 v1.5,
RSA-OEAP и RSASVE.
Например, в TLS-соединении RSA обычно используется клиентом для отправки
зашифрованного предмастера на сервер. Злоумышленник, который наблюдал за
tипичным соединением между клиентом и сервером, мог бы использовать этот дефект, чтобы отправить
пробные сообщения серверу и записывать время, необходимое для их обработки. После достаточно
большого количества сообщений злоумышленник мог бы восстановить предмастер-секрет,
используемый для первоначального соединения, и, таким образом, мог бы расшифровать
данные приложения, отправленные по этому соединению.
CVE-2021-4160В процедуре возведения в квадрат MIPS32 и MIPS64 есть ошибка распространения переноса. Затронуто множество алгоритмов EC, включая некоторые кривые TLS 1.3 по умолчанию. Воздействие не анализировалось подробно, поскольку предварительные условия для атаки считаются маловероятными и включают повторное использование личных ключей. Анализ показывает, что атаки на RSA и DSA в результате этого дефекта было бы очень трудно выполнить и они не считаются вероятными. Атаки на DH считаются вполне осуществимыми (хотя и очень сложными), поскольку большая часть работы, необходимой для получения информации о закрытом ключе, может выполняться в автономном режиме. Объем ресурсов, необходимых для такой атаки, был бы значительным. Однако, чтобы атака на TLS имела смысл, серверу пришлось бы совместно использовать закрытый ключ DH между несколькими клиентами, что больше не является вариантом после CVE-2016-0701. Эта проблема затрагивает версии OpenSSL 1.0.2, 1.1.1 и 3.0.0. Она была решена в выпусках 1.1.1m и 3.0.1 15 декабря 2021 года. Для выпуска 1.0.2 она решена в git commit 6fc1aaaf3, который доступен только клиентам с премиум-поддержкой. Он будет доступен в 1.0.2zc, когда будет выпущен. Проблема затрагивает только OpenSSL на платформах MIPS. Исправлено в OpenSSL 3.0.1 (затронуто 3.0.0). Исправлено в OpenSSL 1.1.1m (затронуто 1.1.1-1.1.1l). Исправлено в OpenSSL 1.0.2zc-dev (затронуто 1.0.2-1.0.2zb).
CVE-2021-3449TLS-сервер OpenSSL может аварийно завершить работу, если получит от клиента вредоносное сообщение ClientHello о повторном согласовании. Если TLSv1.2 renegotiation ClientHello опускает расширение signature_algorithms (где оно присутствовало в исходном ClientHello), но включает расширение signature_algorithms_cert, то произойдет разыменование нулевого указателя, что приведет к сбою и атаке типа «отказ в обслуживании». Сервер уязвим только в том случае, если у него включены TLSv1.2 и повторное согласование (что является конфигурацией по умолчанию). Эта проблема не затрагивает TLS-клиенты OpenSSL. Эта проблема затрагивает все версии OpenSSL 1.1.1. Пользователям этих версий следует обновиться до OpenSSL 1.1.1k. OpenSSL 1.0.2 не подвержен этой проблеме. Исправлено в OpenSSL 1.1.1k (затронуто 1.1.1-1.1.1j).
CVE-2020-1971Тип X.509 GeneralName является общим типом для представления различных типов имен. Один из этих типов имен известен как EDIPartyName. OpenSSL предоставляет функцию GENERAL_NAME_cmp, которая сравнивает различные экземпляры GENERAL_NAME, чтобы увидеть, равны они или нет. Эта функция работает некорректно, когда оба GENERAL_NAME содержат EDIPARTYNAME. Может произойти разыменование нулевого указателя и сбой, что приведет к возможной атаке типа «отказ в обслуживании». Сам OpenSSL использует функцию GENERAL_NAME_cmp для двух целей: 1) Сравнение имен точек распространения CRL между доступным CRL и точкой распространения CRL, встроенной в сертификат X509. 2) При проверке того, что подписыватель токена ответа метки времени соответствует имени органа метки времени (предоставляется через функции API TS_RESP_verify_response и TS_RESP_verify_token). Если злоумышленник может контролировать оба сравниваемых элемента, то этот злоумышленник может вызвать сбой. Например, если злоумышленник может обманом заставить клиента или сервер проверить вредоносный сертификат на соответствие вредоносному CRL, это может произойти. Обратите внимание, что некоторые приложения автоматически загружают CRL на основе URL-адреса, встроенного в сертификат. Эта проверка происходит до проверки подписей в сертификате и CRL. Инструменты s_server, s_client и verify OpenSSL поддерживают параметр "-crl_download", который реализует автоматическую загрузку CRL, и было продемонстрировано, что эта атака работает против этих инструментов. Обратите внимание, что несвязанная ошибка означает, что затронутые версии OpenSSL не могут анализировать или создавать правильные кодировки EDIPARTYNAME. Однако можно создать неправильный EDIPARTYNAME, который анализатор OpenSSL примет и, следовательно, запустит эту атаку. Все версии OpenSSL 1.1.1 и 1.0.2 затронуты этой проблемой. Другие выпуски OpenSSL не поддерживаются и не проверялись. Исправлено в OpenSSL 1.1.1i (Затронуты 1.1.1-1.1.1h). Исправлено в OpenSSL 1.0.2x (Затронуты 1.0.2-1.0.2w).
CVE-2017-3737OpenSSL 1.0.2 (начиная с версии 1.0.2b) представил механизм «состояния ошибки». Предполагалось, что если во время подтверждения связи произойдет неустранимая ошибка, OpenSSL перейдет в состояние ошибки и немедленно завершится неудачей, если вы попытаетесь продолжить подтверждение связи. Это работает так, как задумано, для явных функций подтверждения связи (SSL_do_handshake(), SSL_accept() и SSL_connect()), однако из-за ошибки это работает неправильно, если SSL_read() или SSL_write() вызываются напрямую. В этом сценарии, если подтверждение связи завершается неудачей, неустранимая ошибка будет возвращена при первом вызове функции. Если SSL_read()/SSL_write() впоследствии вызывается приложением для того же объекта SSL, он будет успешно выполнен, и данные будут переданы без расшифровки/шифрования непосредственно из уровня записи SSL/TLS. Чтобы использовать эту проблему, в приложении должна присутствовать ошибка, которая привела к вызову SSL_read()/SSL_write() после получения неустранимой ошибки. Затронуты версии OpenSSL 1.0.2b-1.0.2m. Исправлено в OpenSSL 1.0.2n. OpenSSL 1.1.0 не затронут.
CVE-2016-2177OpenSSL до версии 1.0.2h неправильно использует арифметику указателей для проверок границ буфера кучи, что может позволить удаленным злоумышленникам вызвать отказ в обслуживании (переполнение целого числа и сбой приложения) или, возможно, оказать другое неуказанное воздействие, используя неожиданное поведение malloc, связанное с s3_srvr.c, ssl_sess.c и t1_lib.c.
CVE-2015-3197Файл ssl/s2_srvr.c в OpenSSL 1.0.1 до 1.0.1r и 1.0.2 до 1.0.2f не предотвращает использование отключенных шифров, что облегчает злоумышленникам типа "человек посередине" обход механизмов криптографической защиты путем выполнения вычислений над трафиком SSLv2, связанных с функциями get_client_master_key и get_client_hello.
CVE-2016-2105Переполнение целого числа в функции EVP_EncodeUpdate в crypto/evp/encode.c в OpenSSL до 1.0.1t и 1.0.2 до 1.0.2h позволяет удаленным злоумышленникам вызывать отказ в обслуживании (повреждение памяти кучи) через большой объем двоичных данных.
CVE-2016-7056Обнаружена ошибка атаки по времени в OpenSSL 1.0.1u и более ранних версиях, которая может позволить злоумышленнику с локальным доступом восстановить закрытые ключи ECDSA P-256.
CVE-2023-5678Краткое описание проблемы: создание чрезмерно длинных ключей X9.42 DH или проверка чрезмерно длинных ключей или параметров X9.42 DH может происходить очень медленно.
Краткое описание последствий: приложения, использующие функции DH_generate_key() для создания ключа X9.42 DH, могут испытывать длительные задержки. Аналогично, приложения, использующие DH_check_pub_key(), DH_check_pub_key_ex() или EVP_PKEY_public_check() для проверки ключа X9.42 DH или параметров X9.42 DH, могут испытывать длительные задержки. Если ключ или параметры, которые проверяются, были получены из ненадежного источника, это может привести к отказу в обслуживании.
В то время как DH_check() выполняет все необходимые проверки (по состоянию на CVE-2023-3817), DH_check_pub_key() не выполняет ни одну из этих проверок и, следовательно, уязвима для чрезмерно больших параметров P и Q.
Аналогично, хотя DH_generate_key() выполняет проверку на чрезмерно большой P, она не проверяет на чрезмерно большой Q.
Приложение, которое вызывает DH_generate_key() или DH_check_pub_key() и предоставляет ключ или параметры, полученные из ненадежного источника, может быть уязвимо для атаки типа "отказ в обслуживании".
DH_generate_key() и DH_check_pub_key() также вызываются рядом других функций OpenSSL. Приложение, вызывающее любую из этих других функций, может быть аналогичным образом затронуто. Другими функциями, затронутыми этим, являются DH_check_pub_key_ex(), EVP_PKEY_public_check() и EVP_PKEY_generate().
Также уязвимо приложение командной строки OpenSSL pkey при использовании опции "-pubcheck", а также приложение командной строки OpenSSL genpkey.
Реализация OpenSSL SSL/TLS не затронута этой проблемой.
Поставщики OpenSSL 3.0 и 3.1 FIPS не затронуты этой проблемой.
CVE-2023-2975Краткое описание проблемы: Реализация шифра AES-SIV содержит ошибку, которая приводит к тому, что он игнорирует пустые записи связанных данных, которые, как следствие, не проходят аутентификацию.
Краткое описание воздействия: Приложения, использующие алгоритм AES-SIV и желающие аутентифицировать пустые записи данных как связанные данные, могут быть введены в заблуждение путем удаления, добавления или изменения порядка таких пустых записей, поскольку они игнорируются реализацией OpenSSL. В настоящее время нам неизвестны какие-либо такие приложения.
Алгоритм AES-SIV позволяет аутентифицировать несколько записей связанных данных вместе с шифрованием. Чтобы аутентифицировать пустые данные, приложение должно вызвать EVP_EncryptUpdate() (или EVP_CipherUpdate()) с NULL-указателем в качестве выходного буфера и 0 в качестве длины входного буфера.
Реализация AES-SIV в OpenSSL просто возвращает успех для такого вызова вместо выполнения операции аутентификации связанных данных.
Таким образом, пустые данные не будут аутентифицированы.
Поскольку эта проблема не влияет на аутентификацию непустых связанных данных, и мы ожидаем, что приложение редко использует пустые записи связанных данных, это квалифицируется как проблема низкой степени серьезности.
CVE-2017-3735Во время анализа расширения IPAddressFamily в сертификате X.509 возможно выполнение избыточного чтения одного байта. Это приведет к неправильному текстовому отображению сертификата. Эта ошибка присутствует с 2006 года и присутствует во всех версиях OpenSSL до 1.0.2m и 1.1.0g.
CVE-2016-2178Функция dsa_sign_setup в crypto/dsa/dsa_ossl.c в OpenSSL до версии 1.0.2h неправильно обеспечивает использование операций с постоянным временем, что упрощает локальным пользователям обнаружение закрытого ключа DSA с помощью атаки по сторонним каналам времени.