Heap Buffer Overflow in CMS Key Unwrapping (OpenSSL OpenSSL)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.92 % · percentile 60 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- openssl
- NVD status
- Analyzed
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.
Weaknesses (CWE)
- CWE-787 — Out-of-bounds Write
References
- https://openssl-library.org/news/secadv/20260825.txt
- https://github.com/openssl/openssl/commit/9530a5fd1aacaeccdced4478ea2340a480613335
- https://github.com/openssl/openssl/commit/2a3dac874c8057c1f0186849bf1ede1ae7b6b756
- https://github.com/openssl/openssl/commit/87784ad619af36b8807c2044b3940006fccc1e42
- https://github.com/openssl/openssl/commit/9ec2f6d2ae2bcad907cf7ee38584855bafe4979a
- https://github.com/openssl/openssl/commit/a0c8ec557d9cac078f032d76cdf684fe743eb382
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | CISA-ADP |
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary) |
European references
- ENISA EUVD · EUVD-2026-65482
- GCVE · GCVE-0-2026-63072
CERT-FR advisories
- CERTFR-2026-AVI-1390 — Multiples vulnérabilités dans Tenable Network Monitor · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1351 — Multiples vulnérabilités dans Oracle MySQL · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1349 — Multiples vulnérabilités dans Oracle Database Server · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1256 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1249 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1079 — Multiples vulnérabilités dans OpenSSL · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*≥ 3.0.0 < 3.0.22cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*≥ 3.4.0 < 3.4.7cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*≥ 3.5.0 < 3.5.8cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*≥ 3.6.0 < 3.6.4cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*≥ 4.0.0 < 4.0.2
Affected products
| Product | Versions |
|---|---|
| OpenSSL · OpenSSL | affected 4.0.0 < 4.0.2 ; affected 3.6.0 < 3.6.4 ; affected 3.5.0 < 3.5.8 ; affected 3.4.0 < 3.4.7 ; affected 3.0.0 < 3.0.22 ; affected 1.1.1 < 1.1.1zi |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |