CVE-2026-45447
OpenSSL vulnerability analysis and mitigation

Overview

CVE-2026-45447 is a use-after-free vulnerability in OpenSSL's PKCS#7 signature verification that can be triggered by a specially crafted PKCS#7 or S/MIME signed message containing an empty ASN.1 SET in the SignedData digestAlgorithms field. When PKCS7_verify() processes such a message, OpenSSL incorrectly frees a caller-owned BIO, leading to a use-after-free condition when the application subsequently uses or frees that BIO. Affected versions span OpenSSL 1.0.2 (before 1.0.2zq), 1.1.1 (before 1.1.1zh), 3.0.x (before 3.0.21), 3.4.x (before 3.4.6), 3.5.x (before 3.5.7), 3.6.x (before 3.6.3), and 4.0.0. The vulnerability was disclosed on June 9, 2026, and carries a CVSS v3.1 base score of 8.8 (High) (OpenSSL Advisory, Feedly).

Technical details

The root cause is a use-after-free (CWE-416) in OpenSSL's PKCS7_verify() function. When the SignedData digestAlgorithms field is encoded as an empty ASN.1 SET, OpenSSL incorrectly frees a BIO object that was passed in by the caller and is still owned by the calling application. The most common manifestation occurs when the application subsequently calls BIO_free() on the same BIO, resulting in a double-free or use-after-free memory corruption condition. Only applications using the PKCS#7 APIs are affected; applications using the CMS APIs for S/MIME processing are not impacted, and the FIPS modules across all affected versions are also unaffected since the vulnerable code lies outside the FIPS module boundary (OpenSSL Advisory).

Impact

Successful exploitation can result in process crashes, heap memory corruption, or potentially remote code execution, depending on the memory allocator behavior and the application's specific BIO usage patterns. An authenticated network attacker can send a malicious PKCS#7 or S/MIME message to a vulnerable application, affecting confidentiality, integrity, and availability. The broad deployment of OpenSSL across server software, email clients, and security tools means the attack surface is wide, and exploitation in certain application contexts could enable full system compromise or lateral movement (OpenSSL Advisory, SecurityWeek).

Exploitation steps

  1. Reconnaissance: Identify applications that process PKCS#7 or S/MIME signed messages using OpenSSL's PKCS#7 APIs (e.g., email servers, document signing services, VPN gateways) running vulnerable OpenSSL versions (1.0.2 < 1.0.2zq, 1.1.1 < 1.1.1zh, 3.0.x < 3.0.21, 3.4.x < 3.4.6, 3.5.x < 3.5.7, 3.6.x < 3.6.3, 4.0.0).
  2. Craft malicious message: Construct a PKCS#7 or S/MIME signed message where the SignedData digestAlgorithms field is encoded as an empty ASN.1 SET (i.e., a SET with zero elements, encoded as 31 00 in DER).
  3. Submit the message: Deliver the crafted message to the target application through its normal input channel (e.g., email submission, API endpoint, file upload) using a low-privilege authenticated account.
  4. Trigger use-after-free: When the application calls PKCS7_verify() on the message, OpenSSL incorrectly frees the caller-owned BIO. When the application subsequently calls BIO_free() on the same BIO, a use-after-free condition is triggered.
  5. Achieve impact: Depending on allocator behavior and heap layout, the outcome ranges from a process crash (denial of service) to heap corruption that could be leveraged for arbitrary code execution in the context of the application process (OpenSSL Advisory).

Indicators of compromise

  • Logs: Application crash logs or core dumps referencing PKCS7_verify() or BIO-related memory errors; OpenSSL error logs showing heap corruption or double-free conditions during PKCS#7 or S/MIME message processing.
  • Network: Unusual or malformed S/MIME or PKCS#7 messages submitted to mail servers, API endpoints, or document processing services, particularly those with empty digestAlgorithms fields in the SignedData structure.
  • Process: Unexpected crashes or restarts of services that process signed messages (e.g., email daemons, document signing services); abnormal memory usage patterns or segmentation faults in OpenSSL-linked processes.
  • File System: Unexpected core dump files (core.*) generated by OpenSSL-linked application processes in their working directories.

Mitigation and workarounds

OpenSSL has released patched versions addressing this vulnerability: 1.0.2zq, 1.1.1zh, 3.0.21, 3.4.6, 3.5.7, 3.6.3, and 4.0.1. Organizations should upgrade to the appropriate patched version as the primary remediation. As a temporary workaround where immediate patching is not feasible, restrict or disable processing of untrusted PKCS#7 or S/MIME signed messages, or migrate affected applications to use the CMS APIs instead of the PKCS#7 APIs, as CMS-based processing is not affected. Major Linux distributions including Ubuntu, Red Hat, Debian, SUSE, Fedora, and Alpine have released updated packages (OpenSSL Advisory, Ubuntu Advisory, Red Hat Advisory).

Community reactions

SecurityWeek reported that the vulnerability was notably discovered with the assistance of AI tooling, highlighting a growing trend of AI-assisted vulnerability research (SecurityWeek). The Hacker News weekly recap included the vulnerability among notable security events, and community discussion on Reddit (r/cybersecurity) and Mastodon reflected moderate concern given OpenSSL's ubiquity. Heise.de covered the story under the headline "Prepared signature can pave way for malware," emphasizing the potential for weaponization (Heise). A GitHub repository (patrickmgarrity/Anthropic-Credited-CVEs) was created to track CVEs credited to Anthropic's AI, with this vulnerability listed as one of the findings.

Additional resources


SourceThis report was generated using AI

Related OpenSSL vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-45447HIGH8.8
  • OpenSSL logoOpenSSL
  • libopenssl1_1-32bit
NoYesJun 09, 2026
CVE-2026-11999HIGH8.2
  • OpenSSL logoOpenSSL
  • openssl1.0
NoYesJun 25, 2026
CVE-2026-7383HIGH8.1
  • OpenSSL logoOpenSSL
  • openssl-debuginfo
NoYesJun 09, 2026
CVE-2026-9076HIGH7.5
  • OpenSSL logoOpenSSL
  • libopenssl-1_0_0-devel
NoYesJun 09, 2026
CVE-2026-45784MEDIUM5.1
  • Rust logoRust
  • deno
NoYesJul 17, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management