What’s Vulnerable › Vulnerabilities
CVE-2026-63072: Heap Buffer Overflow in CMS Key Unwrapping
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.9% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-25 · updated 2026-09-11
- Weakness: CWE-787
Description
Issue summary: OpenSSL CMS decryption sizes the key-unwrap output buffer based on querying the unwrapped key size, but the AES-WRAP-PAD unwrap primitive can write and cleanse more bytes than that query reports, causing an 8-byte out-of-bounds heap write. Impact summary: An attacker who supplies a crafted CMS message can trigger a deterministic 8-byte out-of-bounds heap write when the victim decrypts it with CMS_decrypt(), corrupting the heap and typically resulting in a Denial of Service. CWE: CWE-787: Out-of-bounds Write Description: The key-wrap OID is potentially attacker-controlled on the wire. CMS unwrapping allows both id-aesNNN-wrap-pad and id-aesNNN-wrap ciphers. An attacker can take a legitimate message and change a single OID byte to select the padded variant while leaving the message otherwise valid. Since the unwrap key is derived from the recipient's private operation (ECDH key agreement or ML-KEM decapsulation), the RFC 5649 integrity check cannot pass, and the decryption fails with integrity failure. The write is a fixed-size (8-byte), fixed-value (zero) heap overflow immediately past the allocation, requires no special configuration, and is reachable from the public CMS_decrypt() function. The consequence is a heap corruption leading to a Denial of Service. The fix in the CMS code sizes the unwrap output buffer for the worst case so a failed unwrap cannot write past the allocation. FIPS impact: no As the CMS code lives outside the FIPS module boundary, no FIPS modules are affected by this CVE.
Affected products
- OpenSSL: from 3.0.0 before 3.0.22; from 3.4.0 before 3.4.7; from 3.5.0 before 3.5.8; from 3.6.0 before 3.6.4; from 4.0.0 before 4.0.2 — fixed in 3.0.22, 3.4.7, 3.5.8, 3.6.4, 4.0.2
How to fix
Upgrade to a fixed version: OpenSSL 3.0.22, 3.4.7, 3.5.8, 3.6.4. Check the vendor advisory for mitigations.
References
- https://github.com/openssl/openssl/commit/2a3dac874c8057c1f0186849bf1ede1ae7b6b756
- https://github.com/openssl/openssl/commit/87784ad619af36b8807c2044b3940006fccc1e42
- https://github.com/openssl/openssl/commit/9530a5fd1aacaeccdced4478ea2340a480613335
- https://github.com/openssl/openssl/commit/9ec2f6d2ae2bcad907cf7ee38584855bafe4979a
- https://github.com/openssl/openssl/commit/a0c8ec557d9cac078f032d76cdf684fe743eb382
- https://openssl-library.org/news/secadv/20260825.txt
Get alerted when CVE-2026-63072 or the next vulnerability affects your stack