CVE-2026-7383
OpenSSL vulnerability analysis and mitigation

Overview

CVE-2026-7383 is a signed integer overflow vulnerability in OpenSSL's ASN1_mbstring_ncopy() and ASN1_mbstring_copy() functions that can lead to a heap buffer overflow. Disclosed on June 9, 2026, it affects OpenSSL versions 1.0.2 before 1.0.2zq, 1.1.1 before 1.1.1zh, 3.0.x before 3.0.21, 3.4.x before 3.4.6, 3.5.x before 3.5.7, 3.6.x before 3.6.3, and 4.0.0. OpenSSL assigned this issue Low severity due to the narrow exploitation conditions, though the CVSS v3.1 base score is 8.1 (High) (GitHub Advisory, OpenSSL Advisory).

Technical details

The root cause is a signed integer overflow (CWE-787: Out-of-bounds Write) in crypto/asn1/a_mbstr.c. When computing the destination buffer size for Unicode output, the character count (nchar) is left-shifted as a signed int: outlen = nchar << 1 for BMPSTRING (UTF-16) and outlen = nchar << 2 for UNIVERSALSTRING (UTF-32). When nchar reaches approximately 2^30, the shift result overflows; in the worst case (nchar == 0x40000000 for UNIVERSALSTRING), the result wraps to zero, causing OPENSSL_malloc(1) to allocate a single byte, after which traverse_string() writes several gigabytes past that allocation. The UTF-8 path is similarly vulnerable via integer overflow in the per-character byte count accumulation in out_utf8(). Exploitation requires an application that directly calls ASN1_mbstring_copy() or ASN1_mbstring_ncopy() with attacker-controlled input of approximately half a gigabyte or more, or one that registers a custom string type via ASN1_STRING_TABLE_add(); standard X.509 certificate processing paths are not affected (GitHub Advisory, OpenSSL Commit).

Impact

Successful exploitation can result in a process crash (denial of service) or, in the worst case, attacker-controlled code execution with the privileges of the vulnerable process, as well as potential exposure of sensitive data from heap memory. Because the overflow writes several gigabytes past a one-byte allocation, memory corruption is severe and could affect confidentiality, integrity, and availability of the affected application. However, the practical impact is limited to applications that directly invoke the vulnerable API with untrusted, oversized input — standard OpenSSL certificate-handling paths are not exposed (GitHub Advisory, OpenSSL Advisory).

Exploitation steps

  1. Identify a vulnerable target: Find an application that directly calls ASN1_mbstring_copy() or ASN1_mbstring_ncopy() with attacker-controlled input, or that registers a custom ASN.1 string type via ASN1_STRING_TABLE_add(), using a vulnerable OpenSSL version (e.g., 3.0.x < 3.0.21, 3.4.x < 3.4.6, 3.5.x < 3.5.7, 3.6.x < 3.6.3, 4.0.0, 1.0.2 < 1.0.2zq, 1.1.1 < 1.1.1zh).
  2. Craft oversized input: Prepare a UNIVERSALSTRING, BMPSTRING, or UTF-8 encoded string payload containing approximately 2^30 (≈1 billion) characters — roughly 500 MB to 4 GB of raw data — to trigger the signed integer overflow in the destination size calculation.
  3. Trigger the overflow: Submit the crafted input to the target application's code path that invokes ASN1_mbstring_ncopy() or ASN1_mbstring_copy(). For UNIVERSALSTRING with nchar == 0x40000000, nchar << 2 wraps to zero, causing OPENSSL_malloc(1) to allocate a single byte.
  4. Heap buffer overflow: The subsequent traverse_string() call writes several gigabytes of character data past the one-byte allocation, corrupting heap memory. Depending on heap layout and application context, this may result in a crash or potentially controlled code execution (GitHub Advisory, OpenSSL Commit).

Indicators of compromise

  • Logs: Application crash logs or core dumps from processes using OpenSSL, particularly those involving ASN.1 string processing; OpenSSL error messages containing ASN1_R_STRING_TOO_LONG (on patched versions that reject the input) or unexpected malloc failures.
  • Process: Abnormal termination (SIGSEGV, SIGABRT) of applications that process ASN.1 string data; unusually high memory consumption (hundreds of MB to several GB) in processes handling string conversion.
  • Network: Extremely large (500 MB+) payloads submitted to application endpoints that perform ASN.1 string processing — anomalous for typical protocol usage.

Mitigation and workarounds

Update OpenSSL to a patched release: 1.0.2zq, 1.1.1zh, 3.0.21, 3.4.6, 3.5.7, 3.6.3, or any later version; OpenSSL 4.0.0 users should upgrade to the next available release. The fix adds range checks before each left shift and in out_utf8(), raising ASN1_R_STRING_TOO_LONG and returning an error instead of overflowing. As a workaround, applications should validate and enforce strict size limits on any input passed to ASN1_mbstring_copy() or ASN1_mbstring_ncopy(), and custom ASN1_STRING_TABLE implementations should be reviewed to ensure they do not expose these functions to untrusted input. The FIPS modules in OpenSSL 3.0, 3.4, 3.5, 3.6, and 4.0 are not affected (OpenSSL Advisory, OpenSSL Commit).

Community reactions

OpenSSL officially assigned this issue Low severity despite the high CVSS score, citing the narrow exploitation conditions — specifically that no standard certificate-handling path in OpenSSL exercises the overflow (OpenSSL Advisory). Downstream distributions including Ubuntu, Debian, Red Hat, SUSE, Fedora, Alpine, FreeBSD, and others issued security advisories and updated packages shortly after disclosure. The security community broadly noted the discrepancy between the CVSS score and the practical exploitability, with the consensus that real-world risk is low absent custom application code paths (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related OpenSSL vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-45447HIGH8.8
  • OpenSSL logoOpenSSL
  • libopenssl1_1-32bit
NoYesJun 09, 2026
CVE-2026-11999HIGH8.2
  • OpenSSL logoOpenSSL
  • openssl1.0
NoYesJun 25, 2026
CVE-2026-7383HIGH8.1
  • OpenSSL logoOpenSSL
  • openssl-debuginfo
NoYesJun 09, 2026
CVE-2026-9076HIGH7.5
  • OpenSSL logoOpenSSL
  • libopenssl-1_0_0-devel
NoYesJun 09, 2026
CVE-2026-45784MEDIUM5.1
  • Rust logoRust
  • deno
NoYesJul 17, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management