OpenSSL PKCS#7 UAF via PKCS7_verify(); FIPS 3.6+ safe
CVE-2026-45447 Published on June 9, 2026
Heap Use-After-Free in the PKCS7_verify() Function
Issue summary: A specially crafted PKCS#7 or S/MIME signed message could
trigger a use-after-free during PKCS#7 signature verification.
Impact summary: A use-after-free may result in process crashes, heap
corruption, or potentially remote code execution.
When processing a PKCS#7 or S/MIME signed message, if the SignedData
digestAlgorithms field is present as an empty ASN.1 SET, OpenSSL may
incorrectly free a caller-owned BIO during PKCS7_verify(). A subsequent
use of the BIO by the calling application results in a use-after-free
condition.
In the common case this occurs when the application later calls
BIO_free() on the BIO originally passed to PKCS7_verify(). Depending
on allocator behavior and application-specific BIO usage patterns, this
may result in a crash or other memory corruption. In some application
contexts this may potentially be exploitable for remote code execution.
Applications that process PKCS#7 or S/MIME signed messages using OpenSSL
PKCS#7 APIs may be affected. Applications using the CMS APIs for this
processing are not affected.
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.
Vulnerability Analysis
CVE-2026-45447 can be exploited with network access, and does not require authorization privileges or user interaction. This vulnerability is consided to have a high level of attack complexity. The potential impact of an exploit of this vulnerability is considered to be very high.
Weakness Types
What is a Dangling pointer Vulnerability?
Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.
CVE-2026-45447 has been classified to as a Dangling pointer vulnerability or weakness.
What is a Dangling pointer Vulnerability?
The program dereferences a pointer that contains a location for memory that was previously valid, but is no longer valid. When a program releases memory, but it maintains a pointer to that memory, then the memory might be re-allocated at a later time. If the original pointer is accessed to read or write data, then this could cause the program to read or modify data that is in use by a different function or process. Depending on how the newly-allocated memory is used, this could lead to a denial of service, information exposure, or code execution.
CVE-2026-45447 has been classified to as a Dangling pointer vulnerability or weakness.
Products Associated with CVE-2026-45447
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2026-45447 are published in these products:
Affected Versions
OpenSSL:- Version 4.0.0 and below 4.0.1 is affected.
- Version 3.6.0 and below 3.6.3 is affected.
- Version 3.5.0 and below 3.5.7 is affected.
- Version 3.4.0 and below 3.4.6 is affected.
- Version 3.0.0 and below 3.0.21 is affected.
- Version 1.1.1 and below 1.1.1zh is affected.
- Version 1.0.2 and below 1.0.2zq is affected.
- Version 1:3.5.5-4.el10_2 and below * is unaffected.
- Version 1:1.0.2o-4.el8_10.3 and below * is unaffected.
- Version 1:1.1.1k-16.el8_6 and below * is unaffected.
- Version 1:1.1.1k-16.el8_6 and below * is unaffected.
- Version 1:1.0.2o-4.el8_8.1 and below * is unaffected.
- Version 1:1.1.1k-16.el8_6 and below * is unaffected.
- Version 1:1.0.2o-4.el8_8.1 and below * is unaffected.
- Version 1:1.1.1k-16.el8_6 and below * is unaffected.
- Version 1:3.5.5-4.el9_8 and below * is unaffected.
- Version 1:1.1.1k-4.el9_2.2 and below * is unaffected.
- Version 1:1.1.1k-5.el9_4.3 and below * is unaffected.
- Version 1:1.1.1k-5.el9_6.3 and below * is unaffected.
- Version 1783539156 and below * is unaffected.
- Version 1782159791 and below * is unaffected.
- Version 1782166952 and below * is unaffected.
- Version 1782890503 and below * is unaffected.
- Version 1781525684 and below * is unaffected.
- Version 1781525671 and below * is unaffected.
- Version 1781525693 and below * is unaffected.
- Version 1781525739 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.