Cyber Resilience

CVE-2026-9076

Memory Safety in Openssl 1.0.2 – 1.0.2zq

Published
09 June 2026
Modified
17 June 2026
Patch / advisory
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.0062 47th percentile
Risk Priority 58 floored blend · peak EPSS

Summary

CVE-2026-9076 is a high-severity Out-of-bounds Read (CWE-125) vulnerability in Openssl Openssl. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 47th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-9076 is a heap out-of-bounds read in OpenSSL's CMS password-based decryption code path. When processing attacker-supplied CMS data that uses RFC 3211 PWRI key unwrap, the kek_unwrap_key() function selects the KEK cipher from an OID in the message's keyEncryptionAlgorithm field. If that cipher is a stream-mode algorithm rather than a block cipher, the minimum-length guard based on block size becomes ineffective, allowing a read of seven check bytes from a heap buffer that may be too small for the wrapped key length declared in the message.

An unauthenticated remote attacker can trigger the flaw by sending a crafted CMS structure to any application that calls CMS_decrypt() or CMS_decrypt_set1_password() (or the equivalent openssl cms -decrypt -pwri_password command) on untrusted input. The resulting over-read is limited to a few bytes and produces no information disclosure, but it can cause a crash and denial of service when the allocation borders an unmapped page. No password knowledge is required, as the over-read occurs before any authentication check.

The referenced OpenSSL commits (05b0663, 3d8d5bc, 715349a, 77bf00a, and eecbe33) contain the corrective changes. The FIPS modules are unaffected, and the CVSS 7.5 score reflects the high availability impact with network-reachable, low-complexity attack conditions. The current EPSS of 0.0010 shows no material increase.

EU & UK References

Vulnerability Data

Issue summary: When CMS password-based decryption (RFC 3211 / PWRI key unwrap) processes attacker-supplied CMS data, an attacker-chosen stream-mode KEK cipher can trigger a heap out-of-bounds read in kek_unwrap_key(). Impact summary: A heap buffer over-read may trigger a crash which…

more

leads to Denial of Service for an application if the input buffer ends at a memory page boundary and the following page is unmapped. There is no information disclosure as the over-read bytes are not revealed to the attacker. The key unwrapping function performs a check-byte test as specified in the RFC that reads 7 bytes from a heap allocation that is based on the wrapped key length from the message. There is a minimum length check based on the block length of the wrapping cipher. However the cipher is selected from an OID carried in the attacker's PWRI keyEncryptionAlgorithm with no requirement that the cipher be a block cipher. When an attacker selects a stream-mode cipher the guard will be ineffective and the allocated buffer containing the unwrapped key can be too small to fit the check-bytes specified in the RFC and a buffer over-read can happen. Applications calling CMS_decrypt() or CMS_decrypt_set1_password() (equivalently openssl cms -decrypt -pwri_password ...) on untrusted CMS data are vulnerable to this issue. No password knowledge is required: the over-read happens during the unwrap attempt before any authentication succeeds. The over-read is limited to a few bytes and is not written to output, so there is no information disclosure. Triggering a crash requires the allocation to border unmapped memory, which is unlikely with the normal allocator. The FIPS modules are not affected by this issue.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1203 Exploitation for Client Execution Execution
Adversaries may exploit software vulnerabilities in client applications to execute code.
T1210 Exploitation of Remote Services Lateral Movement
Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network.
T1211 Exploitation for Stealth Stealth
Adversaries may exploit vulnerabilities to evade detection by hiding activity, suppressing logging, or operating within trusted or unmonitored components.
T1212 Exploitation for Credential Access Credential Access
Adversaries may exploit software vulnerabilities in an attempt to collect credentials.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-28386Same product: Openssl Openssl
CVE-2026-42771Same product: Openssl Openssl
CVE-2026-34180Same product: Openssl Openssl
CVE-2023-1255Same product: Openssl Openssl
CVE-2026-7383Same product: Openssl Openssl
CVE-2025-15467Same product: Openssl Openssl
CVE-2025-69419Same product: Openssl Openssl
CVE-2023-6129Same product: Openssl Openssl
CVE-2025-68160Same product: Openssl Openssl
CVE-2026-31789Same product: Openssl Openssl

Affected Assets

openssl
openssl
4.0.0 · 1.0.2 — 1.0.2zq · 1.1.1 — 1.1.1zh · 3.0.0 — 3.0.21

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and evaluation directly finds out-of-bounds read flaws through static analysis, fuzzing, and dynamic bounds checks.

Secure engineering principles require bounds checking and memory-safe constructs that stop out-of-bounds reads from being introduced.

Process isolation confines the effects of an out-of-bounds read to the compromised process.

Input validation rejects malformed indices or lengths that would otherwise cause reads outside buffer bounds.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure-development practices such as bounds checking and memory-safe languages directly prevent out-of-bounds reads.

ID.RA-01 partial match
prevents

Vulnerability scanning and recording can discover instances of out-of-bounds reads after code is deployed.

PR.PS-02 partial match
prevents

Routine patching replaces vulnerable code containing out-of-bounds read flaws.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development and acceptance includes fuzzing and static analysis that detect out-of-bounds read defects before release.

A.8.15 Logging partial match
finds

Logging can record evidence of an out-of-bounds read but does not prevent the weakness itself.

prevents

Secure development life cycle mandates input validation and bounds checking that directly prevent out-of-bounds reads.

prevents

Application security requirements include explicit bounds and memory-safety specifications that mitigate buffer over-reads.

prevents

Secure system architecture and engineering principles require memory-safe design patterns and runtime protections against out-of-bounds access.

prevents

Secure coding standards explicitly forbid unsafe pointer arithmetic and mandate bounds-checked reads, eliminating CWE-125.

References