9.8
/ 10
CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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.
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.
AI Analysis
Heap Use-After-Free in the PKCS7_verify() Function, potentially allowing remote code execution
Basic Information
ID
CVE-2026-45447
Source
openssl
Published
Jun 9, 2026 at 16:03
Modified
Jun 9, 2026 at 18:45
Affected Product
Vendor
OpenSSL
Product
OpenSSL
Version
4.0.0, 3.6.0, 3.5.0, 3.4.0, 3.0.0, 1.1.1, 1.0.2
Affected Versions
OpenSSL OpenSSL 4.0.0
OpenSSL OpenSSL 3.6.0
OpenSSL OpenSSL 3.5.0
OpenSSL OpenSSL 3.4.0
OpenSSL OpenSSL 3.0.0
OpenSSL OpenSSL 1.1.1
OpenSSL OpenSSL 1.0.2
OpenSSL OpenSSL 3.6.0
OpenSSL OpenSSL 3.5.0
OpenSSL OpenSSL 3.4.0
OpenSSL OpenSSL 3.0.0
OpenSSL OpenSSL 1.1.1
OpenSSL OpenSSL 1.0.2
CWE Classification
AI Assessment
AI Score
9.8 / 10
AI Severity
Critical
Vendor
OpenSSL
Product
OpenSSL
Version
4.0.0, 3.6.0, 3.5.0, 3.4.0, 3.0.0, 1.1.1, 1.0.2
References
- openssl-library.org /news/secadv/20260609.txt
- github.com /openssl/security/commit/3aad5eb7af4de4ee0633c30a8541a54d9bbde63c
- github.com /openssl/security/commit/c505d7559da5d5f9f2c3913c6883a5562ce7273e
- github.com /openssl/security/commit/7d4a980c62258c5910cc883936e0c8dbab4d75a8
- github.com /openssl/security/commit/a541ae8bfe849a30cc885e8780715c0f488e496c
- github.com /openssl/security/commit/9dfd688ad2290fc5075cacbc9bf0c9a93eefed54