CVE-2026-7383
High · 8.1CVSS
8.1
EPSS
0.8%
Published
Jun 9, 2026
CISA due date
—
Cloudanix analysis
A flaw in OpenSSL can let specially crafted, extremely large data crash or possibly compromise applications that use certain uncommon custom text-conversion features.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Other
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
CVE-2026-7383 is a heap buffer overflow in OpenSSL's ASN1_mbstring_copy() and ASN1_mbstring_ncopy() routines. When these functions size a destination buffer for Unicode output, the size calculation uses a signed int and can overflow for extremely large attacker-controlled strings, especially BMPSTRING, UNIVERSALSTRING, or UTF8STRING conversions. In the worst case, the computed allocation can wrap to a very small value while the subsequent copy writes a much larger amount of data, potentially causing process crashes, memory corruption, undefined behavior, or, in favorable conditions, code execution. Standard OpenSSL X.509 certificate processing is not expected to reach the vulnerable condition because common certificate paths apply type and length restrictions; exposure is mainly in applications that directly call the affected ASN.1 string-copy APIs or register custom ASN.1 string types using attacker-controlled, very large inputs. OpenSSL FIPS modules are not affected because the vulnerable code is outside the FIPS module boundary.
Why it matters to the business
For most organizations this is a low-likelihood but high-consequence OpenSSL issue: widespread OpenSSL usage increases the need to inventory exposure, but exploitation requires a non-standard application path and very large attacker-controlled input, making broad internet-scale exploitation unlikely based on currently available information. If an affected application does expose these APIs to untrusted input, successful exploitation could crash critical services or potentially allow compromise of the process running the vulnerable code. The issue is not listed in CISA KEV, is not known to be used in ransomware campaigns, and has low EPSS, so remediation should be prioritized behind actively exploited OpenSSL issues unless an organization has custom ASN.1 handling or direct use of the vulnerable APIs.
How an attack unfolds
An attacker first identifies an application using OpenSSL in a way that directly invokes ASN1_mbstring_copy() or ASN1_mbstring_ncopy(), or that registers a custom string type through ASN1_STRING_TABLE_add() and then processes attacker-supplied ASN.1 string content. The attacker then supplies an unusually large string, on the order of hundreds of megabytes to approximately 2^30 characters or more, crafted so the destination buffer size calculation overflows during Unicode conversion. Because the allocation is based on the wrapped integer value, OpenSSL may allocate a much smaller buffer than required. During the copy operation, the process writes beyond the allocated heap buffer, resulting in memory corruption. The most likely observable result is a denial-of-service crash; in a highly controlled memory layout, attacker-controlled code execution may be possible, although no public exploit maturity or active exploitation is currently reported.
How to fix it
Upgrade OpenSSL to a vendor-provided version that includes the fix when available for the affected package or platform. Because no exact fixed versions were provided in the input, use the relevant operating system, container base image, appliance, language runtime, or application vendor advisory as the source of truth. Rebuild or redeploy statically linked applications after updating OpenSSL, since replacing the system library alone may not fix embedded copies. Where immediate upgrade is not possible, mitigate by auditing code for direct use of ASN1_mbstring_copy(), ASN1_mbstring_ncopy(), and ASN1_STRING_TABLE_add(); enforce strict maximum input sizes before ASN.1 string conversion; reject unusually large ASN.1 string values; and avoid exposing custom ASN.1 string handling to untrusted network input. Standard certificate validation paths are not expected to be exploitable, but custom ASN.1 parsing should be treated as higher risk.
How to confirm the fix worked
Confirm the OpenSSL version and vendor package release on all systems, containers, appliances, and statically linked applications that include OpenSSL. Review software bills of materials, dependency manifests, package manager output, and binary linkage to identify OpenSSL copies. Validate that applications do not directly expose ASN1_mbstring_copy(), ASN1_mbstring_ncopy(), or custom ASN1_STRING_TABLE_add() handling to untrusted input, or that they enforce conservative size limits before those calls. After patching, rerun package scans and container image scans to confirm the vulnerable OpenSSL build is no longer present. For custom code, add regression tests with oversized ASN.1 string inputs and verify they are rejected before OpenSSL conversion routines are invoked.
Typical attack path
- Find an application or service using OpenSSL ASN.1 string handling in a non-standard way, such as direct calls to ASN1_mbstring_copy() or ASN1_mbstring_ncopy().
- Confirm the application accepts attacker-controlled ASN.1 string input without strict size limits.
- Send a very large crafted BMPSTRING, UNIVERSALSTRING, or UTF8STRING value capable of overflowing the signed destination-size calculation.
- Trigger OpenSSL to allocate an undersized heap buffer based on the wrapped size value.
- Cause the subsequent string-copy operation to write past the heap allocation.
- Achieve a process crash or, in a more advanced scenario, attempt to shape heap memory for controlled code execution.
How to detect it
Retrospective detection should focus on application crashes, abnormal memory corruption, and unusually large ASN.1-related inputs rather than network signatures, because exploitation depends on application-specific use of OpenSSL APIs and there is no standard protocol path known to trigger the bug. Review application logs, crash dumps, core files, endpoint telemetry, sanitizer output, and service supervisor logs for crashes with stack traces containing ASN1_mbstring_copy(), ASN1_mbstring_ncopy(), ASN1_STRING_set_by_NID(), ASN1_STRING_TABLE_add(), OPENSSL_malloc(), or heap-buffer-overflow messages. Investigate requests, uploaded files, messages, or protocol payloads immediately preceding crashes where payload sizes are hundreds of megabytes or larger and contain ASN.1 string encodings such as BMPSTRING, UNIVERSALSTRING, or UTF8STRING. For internet-facing services, correlate large inbound transfers with service restarts, segmentation faults, out-of-memory events, or heap corruption messages. Absence of these artifacts does not prove non-exploitation, especially if logs do not retain request sizes, crash traces, or core dumps.
- ASN1_mbstring_copy
- ASN1_mbstring_ncopy
- ASN1_STRING_TABLE_add
- ASN1_STRING_set_by_NID
- OPENSSL_malloc
- heap-buffer-overflow
- heap corruption
- malloc(): corrupted top size
- malloc(): invalid size
- double free or corruption
- segmentation fault
- SIGSEGV
- AddressSanitizer: heap-buffer-overflow
What your security team should do
- Inventory all OpenSSL usage, including container images, appliances, embedded libraries, and statically linked binaries.
- Prioritize remediation for applications that perform custom ASN.1 parsing or directly call ASN1_mbstring_copy(), ASN1_mbstring_ncopy(), or ASN1_STRING_TABLE_add() with untrusted input.
- Apply vendor OpenSSL updates as they become available and rebuild applications that bundle or statically link OpenSSL.
- Add input-size limits around ASN.1 string handling, especially for BMPSTRING, UNIVERSALSTRING, and UTF8STRING conversion paths.
- Do not treat normal TLS certificate processing alone as proof of exploitability; focus review on custom ASN.1 handling paths.
- Monitor for crashes or sanitizer reports involving ASN1_mbstring_copy(), ASN1_mbstring_ncopy(), OPENSSL_malloc(), or heap-buffer-overflow conditions.
- Track vendor advisories because exact fixed versions may vary by distribution and packaged OpenSSL branch.
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Leap 16.0 | openssl-3 | 0 | 3.5.0-160000.8.1 |
| openSUSE:Tumbleweed | openssl-3 | 0 | 3.5.3-6.1 |
Related vulnerabilities
- CVE-2026-9076 Issue summary: When CMS password-based decryption (RFC 3211 / PWRI key unwrap) processes… Also affects openssl-3
- CVE-2026-45446 Issue summary: The implementations of AES-SIV (RFC 5297) and AES-GCM-SIV (RFC 8452)… Also affects openssl-3
- CVE-2026-45447 Issue summary: A specially crafted PKCS#7 or S/MIME signed message could trigger a… Also affects openssl-3
- CVE-2026-45445 Issue summary: When an application drives an AES-OCB context through the public… Also affects openssl-3
- CVE-2026-42769 Issue Summary: An error in the callback used to verify the certificate provided in a Root… Also affects openssl-3
- CVE-2026-42768 Issue summary: The CMS_decrypt and PKCS7_decrypt functions are vulnerable to… Also affects openssl-3
- CVE-2026-42767 Issue summary: An attacker-controlled CMP (Certificate Management Protocol) server could… Also affects openssl-3
- CVE-2026-42770 Issue summary: When EVP_PKEY_derive_set_peer() is called with a DHX (X9.42) peer key, the… Also affects openssl-3