Ad

CVE-2026-7383

HIGH CVSS 3.1: 8,1 EPSS 0.63%
Обновлено 23 июля 2026
OpenSSL
Параметр Значение
CVSS 8,1 (HIGH)
Уязвимые версии 1.0.2 — 3.6.3
Устранено в версии 1.0.2zq
Тип уязвимости CWE-787 (Запись за пределами буфера)
Поставщик OpenSSL
Публичный эксплойт Нет

Краткое описание проблемы: переполнение целого числа со знаком при определении размера места назначения. буфер для вывода Unicode в ASN1_mbstring_ncopy() может привести к куче переполнение буфера. Краткое описание воздействия: переполнение буфера кучи может привести к сбою или, возможно, злоумышленник контролирует выполнение кода или другое неопределенное поведение. В ASN1_mbstring_copy() и ASN1_mbstring_ncopy() пункт назначения размер вывода Unicode вычисляется в виде целого числа со знаком: сдвигом влево количества входных символов для BMPSTRING (UTF-16) и UNIVERSALSTRING (UTF-32) и путем суммирования количества байтов на каждый символ. для UTF8STRING.

Вычисление переполняется, когда входные данные достигают около 2^30 символов. В худшем случае (UNIVERSALSTRING при 2^30 символов) размер обнуляется, вызывается OPENSSL_malloc(1) и последующая копия символа записывает несколько гигабайт за выделение одного байта. Обработка сертификата X.509 проходит через ASN1_STRING_set_by_NID(), чья маска DIRSTRING_TYPE исключает UNIVERSALSTRING и чей NID Ограничения размера ограничивают длину ввода; нет сетевого протокола или Путь обработки сертификата в OpenSSL вызывает переполнение.

Для запуска ошибки требуется приложение, которое вызывает ASN1_mbstring_copy() или ASN1_mbstring_ncopy() напрямую или регистрирует пользовательский тип строки через ASN1_STRING_TABLE_add(), с контролируемый злоумышленником ввод размером порядка половины гигабайта или более. По этим причинам этой проблеме был присвоен низкий уровень серьезности. На модули FIPS версий 4.0, 3.6, 3.5, 3.4 и 3.0 не влияет эта проблема, поскольку затронутый код находится за пределами модуля OpenSSL FIPS. граница.

Показать оригинальное описание (EN)

Issue summary: A signed integer overflow when sizing the destination buffer for Unicode output in ASN1_mbstring_ncopy() can lead to a heap buffer overflow. Impact summary: A heap buffer overflow may lead to a crash or possibly attacker controlled code execution or other undefined behaviour. In ASN1_mbstring_copy() and ASN1_mbstring_ncopy() the destination size for Unicode output is computed in a signed int: by left shift of the input character count for BMPSTRING (UTF-16) and UNIVERSALSTRING (UTF-32), and by summing per-character byte counts for UTF8STRING. The calculation overflows when the input reaches around 2^30 characters. In the worst case (UNIVERSALSTRING at 2^30 characters) the size wraps to zero, OPENSSL_malloc(1) is called, and the subsequent character copy writes several gigabytes past the one-byte allocation. X.509 certificate processing routes through ASN1_STRING_set_by_NID(), whose DIRSTRING_TYPE mask excludes UNIVERSALSTRING and whose per-NID size limits cap the input length; no network protocol or certificate-handling path in OpenSSL exercises the overflow. Triggering the bug requires an application that calls ASN1_mbstring_copy() or ASN1_mbstring_ncopy() directly, or registers a custom string type via ASN1_STRING_TABLE_add(), with attacker-controlled input on the order of half a gigabyte or more. For these reasons this issue was assigned Low severity. The FIPS modules in 4.0, 3.6, 3.5, 3.4 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Высокая
Сложно эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты 7

Конфигурация От (включительно) До (исключительно)
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
1.0.2 1.0.2zq
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
1.1.1 1.1.1zh
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
3.0.0 3.0.21
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
3.4.0 3.4.6
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
3.5.0 3.5.7
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
3.6.0 3.6.3
Openssl Openssl
cpe:2.3:a:openssl:openssl:4.0.0:-:*:*:*:*:*:*