CVE-2026-7383
Severity CVSS v4.0:
Pending analysis
Type:
CWE-787
Out-of-bounds Write
Publication date:
09/06/2026
Last modified:
23/07/2026
Description
Issue summary: A signed integer overflow when sizing the destination<br />
buffer for Unicode output in ASN1_mbstring_ncopy() can lead to a heap<br />
buffer overflow.<br />
<br />
Impact summary: A heap buffer overflow may lead to a crash or possibly<br />
attacker controlled code execution or other undefined behaviour.<br />
<br />
In ASN1_mbstring_copy() and ASN1_mbstring_ncopy() the destination<br />
size for Unicode output is computed in a signed int: by left shift<br />
of the input character count for BMPSTRING (UTF-16) and<br />
UNIVERSALSTRING (UTF-32), and by summing per-character byte counts<br />
for UTF8STRING. The calculation overflows when the input reaches<br />
around 2^30 characters. In the worst case (UNIVERSALSTRING at 2^30<br />
characters) the size wraps to zero, OPENSSL_malloc(1) is called, and<br />
the subsequent character copy writes several gigabytes past the<br />
one-byte allocation.<br />
<br />
X.509 certificate processing routes through ASN1_STRING_set_by_NID(),<br />
whose DIRSTRING_TYPE mask excludes UNIVERSALSTRING and whose per-NID<br />
size limits cap the input length; no network protocol or<br />
certificate-handling path in OpenSSL exercises the overflow.<br />
Triggering the bug requires an application that calls<br />
ASN1_mbstring_copy() or ASN1_mbstring_ncopy() directly, or registers<br />
a custom string type via ASN1_STRING_TABLE_add(), with<br />
attacker-controlled input on the order of half a gigabyte or more.<br />
For these reasons this issue was assigned Low severity.<br />
<br />
The FIPS modules in 4.0, 3.6, 3.5, 3.4 and 3.0 are not affected by<br />
this issue, as the affected code is outside the OpenSSL FIPS module<br />
boundary.
Impact
Base Score 3.x
8.10
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.0.2 (including) | 1.0.2zq (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.1.1 (including) | 1.1.1zh (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.0.0 (including) | 3.0.21 (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.4.0 (including) | 3.4.6 (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.5.0 (including) | 3.5.7 (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.6.0 (including) | 3.6.3 (excluding) |
| cpe:2.3:a:openssl:openssl:4.0.0:-:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://github.com/openssl/openssl/commit/4f8d2bddaa2c8e06f9c33390ee1717059a6e4be6
- https://github.com/openssl/openssl/commit/80c15faaf78042bbb8654a0e234c50c381732f74
- https://github.com/openssl/openssl/commit/bd17511070fb39a67bfa19682affb765e706a974
- https://github.com/openssl/openssl/commit/c332adaced43bcbb85f97410597e951c11ec3083
- https://github.com/openssl/openssl/commit/d32350ae8ef7426718f5aa9e383d4b51398ee255
- https://openssl-library.org/news/secadv/20260609.txt



