REDHAT-BUG-2481898: Use After Free
Heap Use-After-Free in OpenSSL PKCS7verify()
Heap Use-After-Free in OpenSSL PKCS7verify() (CVE-2026-45447) Severity: High
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 PKCS7verify(). 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 BIOfree() on the BIO originally passed to PKCS7verify(). 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.
OpenSSL 4.0, 3.6, 3.5, 3.4, 3.0, 1.1.1, and 1.0.2 are vulnerable to this issue.
OpenSSL 4.0 users should upgrade to OpenSSL 4.0.1 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.3. OpenSSL 3.5 users should upgrade to OpenSSL 3.5.7. OpenSSL 3.4 users should upgrade to OpenSSL 3.4.6. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.21. OpenSSL 1.1.1 users should upgrade to OpenSSL 1.1.1zh (premium support customers only). OpenSSL 1.0.2 users should upgrade to OpenSSL 1.0.2zq (premium support customers only).
This issue was reported by Thai Duong (Calif.io in collaboration with Claude and Anthropic Research). on 27th April 2026. The fix was developed by Igor Ustinov.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
OpenSSLto a version that resolves this vulnerability.Fixed in 1.0.2zq - Upgrade
Upgrade
OpenSSLto a version that resolves this vulnerability.Fixed in 1.1.1zh - Upgrade
Upgrade
OpenSSLto a version that resolves this vulnerability.Fixed in 3.0.21 - Upgrade
Upgrade
OpenSSLto a version that resolves this vulnerability.Fixed in 3.4.6 - Upgrade
Upgrade
OpenSSLto a version that resolves this vulnerability.Fixed in 3.5.7 - Upgrade
Upgrade
OpenSSLto a version that resolves this vulnerability.Fixed in 3.6.3 - Upgrade
Upgrade
OpenSSLto a version that resolves this vulnerability.Fixed in 4.0.1 - Compensating control
If upgrading is not immediately possible, compensate by ensuring your application does not reuse the BIO originally passed to PKCS7_verify() for subsequent processing (since the issue can free a caller-owned BIO and lead to use-after-free).
- Compensating control
Use FIPS modules in OpenSSL 4.0, 3.6, 3.5, 3.4, and 3.0 to avoid this issue, since the FIPS modules for these versions are stated as not affected.
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2481898?
The severity of REDHAT-BUG-2481898 is classified as high with a risk score of 7.
What is the impact of REDHAT-BUG-2481898?
The impact of REDHAT-BUG-2481898 includes a potential use-after-free vulnerability during PKCS#7 signature verification.
How do I fix REDHAT-BUG-2481898?
To fix REDHAT-BUG-2481898, update to the latest patched version of OpenSSL as recommended by the vendor.
What causes REDHAT-BUG-2481898?
REDHAT-BUG-2481898 is caused by a specially crafted PKCS#7 or S/MIME signed message triggering a use-after-free in OpenSSL's PKCS7_verify() function.
Is REDHAT-BUG-2481898 related to CVE-2026-45447?
Yes, REDHAT-BUG-2481898 is associated with CVE-2026-45447, which describes the same vulnerability.