CVE-2026-45447 Heap Use-After-Free in the PKCS7_verify() Function
A crafted PKCS#7 message triggers a use-after-free in OpenSSL, potentially allowing remote code execution or crashes in applications processing signed messages.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-45447?
CVE-2026-45447 is a high-severity use after free vulnerability in Openssl Openssl, published on 9 Jun 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Which versions are affected by CVE-2026-45447?
It affects 1 product.
Linux distribution packages (12)
compat-openssl10 AlmaLinux:8 | All versions | 1:1.0.2o-4.el8_10.3 |
compat-openssl11 AlmaLinux:9 | All versions | 1:1.1.1k-5.el9_8.4 |
compat-openssl10 Red Hat:enterprise_linux:8::appstream | All versions | 1:1.0.2o-4.el8_10.3 |
compat-openssl10-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 1:1.0.2o-4.el8_10.3 |
compat-openssl10-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 1:1.0.2o-4.el8_10.3 |
compat-openssl11 Red Hat:enterprise_linux:9::appstream | All versions | 1:1.1.1k-5.el9_8.4 |
compat-openssl10 Rocky Linux:8 | All versions | 1:1.0.2o-4.el8_10.3 |
compat-openssl11 Rocky Linux:9 | All versions | 1:1.1.1k-5.el9_8.4 |
openssl-1_1-livepatches SUSE:Linux Enterprise Live Patching 15 SP4 | All versions | 0.6-150400.3.20.1 |
openssl-1_1-livepatches SUSE:Linux Enterprise Live Patching 15 SP5 | All versions | 0.6-150500.6.14.1 |
openssl-1_1-livepatches SUSE:Linux Enterprise Live Patching 15 SP6 | All versions | 0.6-150600.11.6.1 |
openssl-1_1-livepatches SUSE:Linux Enterprise Live Patching 15 SP7 | All versions | 0.6-150700.13.6.1 |
Products include Openssl Openssl.
How do I fix CVE-2026-45447?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-45447 being exploited?
There is no known exploitation of CVE-2026-45447 in the wild and no public exploit code.
Public exploit code: 2 proofs of concept on GitHub.
Other vulnerabilities in Openssl Openssl
Sources
Also known as ALPINE-CVE-2026-45447, ALSA-2026:36215, ALSA-2026:44438, AZL-89811, AZL-89864, AZL-92837 and 33 more.