OpenSSL 3.x CMS AuthEnvelopedData AEAD IV stack overflow (v3.6+)
CVE-2025-15467 Published on January 27, 2026
Stack buffer overflow in CMS (Auth)EnvelopedData parsing
Issue summary: Parsing CMS AuthEnvelopedData or EnvelopedData message with
maliciously crafted AEAD parameters can trigger a stack buffer overflow.
Impact summary: A stack buffer overflow may lead to a crash, causing Denial
of Service, or potentially remote code execution.
When parsing CMS (Auth)EnvelopedData structures that use AEAD ciphers such as
AES-GCM, the IV (Initialization Vector) encoded in the ASN.1 parameters is
copied into a fixed-size stack buffer without verifying that its length fits
the destination. An attacker can supply a crafted CMS message with an
oversized IV, causing a stack-based out-of-bounds write before any
authentication or tag verification occurs.
Applications and services that parse untrusted CMS or PKCS#7 content using
AEAD ciphers (e.g., S/MIME (Auth)EnvelopedData with AES-GCM) are vulnerable.
Because the overflow occurs prior to authentication, no valid key material
is required to trigger it. While exploitability to remote code execution
depends on platform and toolchain mitigations, the stack-based write
primitive represents a severe risk.
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this
issue, as the CMS implementation is outside the OpenSSL FIPS module
boundary.
OpenSSL 3.6, 3.5, 3.4, 3.3 and 3.0 are vulnerable to this issue.
OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.
Vulnerability Analysis
CVE-2025-15467 can be exploited with network access, and does not require authorization privileges or user interaction. This vulnerability is considered to have a low attack complexity. An automatable proof of concept (POC) exploit exists. The potential impact of an exploit of this vulnerability is considered to be critical as this vulnerability has a high impact to the confidentiality, integrity and availability of this component.
Weakness Types
What is a Memory Corruption Vulnerability?
The software writes data past the end, or before the beginning, of the intended buffer. Typically, this can result in corruption of data, a crash, or code execution. The software may modify an index or perform pointer arithmetic that references a memory location that is outside of the boundaries of the buffer. A subsequent write operation then produces undefined or unexpected results.
CVE-2025-15467 has been classified to as a Memory Corruption vulnerability or weakness.
What is a Classic Buffer Overflow Vulnerability?
The program copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow. A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer. The simplest type of error, and the most common cause of buffer overflows, is the "classic" case in which the program copies the buffer without restricting how much is copied. Other variants exist, but the existence of a classic overflow strongly suggests that the programmer is not considering even the most basic of security protections.
CVE-2025-15467 has been classified to as a Classic Buffer Overflow vulnerability or weakness.
Products Associated with CVE-2025-15467
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2025-15467 are published in these products:
Affected Versions
OpenSSL:- Version 3.6.0 and below 3.6.1 is affected.
- Version 3.5.0 and below 3.5.5 is affected.
- Version 3.4.0 and below 3.4.4 is affected.
- Version 3.3.0 and below 3.3.6 is affected.
- Version 3.0.0 and below 3.0.19 is affected.
- Before * is affected.
- Before V1.8.0 is affected.
- Before V3.3.2 is affected.
- Before * is affected.
- Before * is affected.
- Before V9.0 QU1 is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Version V4.0.700 and below * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before V17.9 is affected.
- Before V17.9 is affected.
- Before V17 Update 9 is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before V5.7 SP4 is affected.
- Before * is affected.
- Before V3.19 P024 is affected.
- Before V3.20 P012 is affected.
- Before V3.21 P02 is affected.
- Before V17 Update 9 is affected.
- Before V21 is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before * is affected.
- Before V3.1.13 is affected.
- Before V3.2.4 is affected.
- Before V3.3.2 is affected.
- Version V6.3 and below * is affected.
- Version V6.3 and below * is affected.
- Version V6.3 and below * is affected.
- Version V6.3 and below * is affected.
- Version V6.3 and below * is affected.
- Before V1.0 SP2 Update 5 is affected.
- Before * is affected.
- Before * is affected.
- Before V4.2 SP3 is affected.
- Before * is affected.
- Before * is unaffected.
- Before * is unaffected.
- Before * is affected.
- Before * is affected.
- Before V2.15.3.0 is affected.
- Before * is affected.
- Version 1:3.5.1-7.el10_1 and below * is unaffected.
- Version 1:3.2.2-16.el10_0.6 and below * is unaffected.
- Version 1:3.5.1-7.el9_7 and below * is unaffected.
- Version 1:3.0.1-46.el9_0.7 and below * is unaffected.
- Version 1:3.0.7-18.el9_2.3 and below * is unaffected.
- Version 1:3.0.7-29.el9_4.2 and below * is unaffected.
- Version 1:3.2.2-7.el9_6.2 and below * is unaffected.
- Version 413.92.202602240113-0 and below * is unaffected.
- Version 414.92.202602171627-0 and below * is unaffected.
- Version 415.92.202603101737-0 and below * is unaffected.
- Version 416.94.202602101357-0 and below * is unaffected.
- Version 417.94.202602090846-0 and below * is unaffected.
- Version 418.94.202602022246-0 and below * is unaffected.
- Version 4.19.9.6.202602112047-0 and below * is unaffected.
- Version 4.20.9.6.202602050328-0 and below * is unaffected.
- Version 1.8.8-1 and below * is unaffected.
- Version 1.8.8-1 and below * is unaffected.
- Version 1.8.8-1 and below * is unaffected.
- Version 1.8.8-1 and below * is unaffected.
- Version 1.8.8-1 and below * is unaffected.
- Version 2.7.6-5 and below * is unaffected.
- Version 1.8.8-1 and below * is unaffected.
- Version 1.8.8-1 and below * is unaffected.
- Version 1770836349 and below * is unaffected.
- Version 1772160593 and below * is unaffected.
- Version 1772160625 and below * is unaffected.
- Version 1769104765 and below * is unaffected.
- Version 1769111774 and below * is unaffected.
- Version 3.5.6-0.1.hum1 and below * is unaffected.
- Version 1770740405 and below * is unaffected.
- Version 1770494649 and below * is unaffected.
- Version 1770404535 and below * is unaffected.
- Version 1770764461 and below * is unaffected.
- Version 1770494431 and below * is unaffected.
- Version 1770404517 and below * is unaffected.
- Version 1770759517 and below * is unaffected.
- Version 1770404430 and below * is unaffected.
- Version 1770851052 and below * is unaffected.
- Version 1770918006 and below * is unaffected.
- Version 1770494726 and below * is unaffected.
- Version 1770646925 and below * is unaffected.
- Version 1773670073 and below * is unaffected.
- Version 1773672059 and below * is unaffected.
- Version 1773670137 and below * is unaffected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.