OpenSSL PKCS7_verify Flaw: AI Uncovered an RCE-Grade Bug

OpenSSL shipped fixes for 18 vulnerabilities on June 9, 2026, led by a high-severity heap use-after-free in PKCS7_verify() tracked as CVE-2026-45447. A crafted PKCS#7 or S/MIME signed message can crash the verifying process, corrupt the heap, or, under the right allocator conditions, execute attacker-controlled code. The flaw was reported by a researcher working alongside Anthropic’s Claude, and it reaches every supported OpenSSL branch going back to 1.0.2 — which is why this is a PKI and mail-gateway problem first, and a generic “patch OpenSSL” task second.
How the PKCS7_verify Bug Breaks
The defect sits squarely in the PKCS#7 signature verification path. The trigger is not exotic. When a signed message carries a malformed ASN.1 structure — specifically an empty SET inside the SignedData.digestAlgorithms field — OpenSSL incorrectly frees a caller-owned BIO while the calling application still believes it owns that handle. The application later calls BIO_free() on the same pointer, and the classic heap use-after-free fires.
The OpenSSL project rates the issue High, and its own advisory is unusually direct about the ceiling: process crashes, heap corruption, and “in some application contexts this may potentially be exploitable for remote code execution” (OpenSSL advisory). Independent analysts agree the RCE ceiling is real but environment-dependent — it hinges on allocator behaviour and how the target application uses the BIO after verification returns. A public proof-of-concept repository already exists on GitHub, grading the issue CVSS 9.8 (0xBlackash PoC).
One scoping detail matters enormously for triage: only the legacy PKCS#7 APIs are affected. Applications that migrated to the CMS APIs for signed-message handling are not in scope, and neither are any of the OpenSSL FIPS modules, since the broken code lives outside the FIPS boundary. That distinction should drive your exposure question rather than a blanket “we run OpenSSL, panic” reflex.
Who Is Actually Exposed
Forget the reflex to point this at web servers. TLS handshakes are not the kill chain here — signed-message verification is. The blast radius is the PKI and mail infrastructure that most cloud teams treat as plumbing they never touch directly.
- Email gateways and S/MIME stacks that verify inbound signed mail via OpenSSL PKCS#7 calls — the same mail-handling perimeter that recent flaws like the Gravity SMTP credential-leak bug put back in the spotlight.
- Document signing platforms and code-signing gateways that validate PKCS#7 signatures before release.
- Internal PKI and trust-management systems that consume PKCS#7-wrapped certificates and responses.
- Custom applications that call
PKCS7_verify()directly — frequently buried inside Java JNI wrappers, Go CGO bridges, or appliance firmware.
The catch is that OpenSSL is not only what your team installed. It is the statically linked dependency inside container base images, database drivers, VPN appliances, and a long tail of packages nobody explicitly procured. Puppet’s analysis of the advisory is blunt: for most enterprises “the blast radius of this advisory is significantly larger than it first appears” (Puppet). If you cannot enumerate where OpenSSL lives, you cannot claim this is patched.
The Other 17 Patched Flaws
CVE-2026-45447 is the headline, but the June 9 advisory bundled 17 more issues, and several of them deserve attention on their own. SecurityWeek reports that across the full set the consequences include authentication bypass via forged certificates, decryption of encrypted traffic, private-key recovery, and root-CA replacement (SecurityWeek).
One moderate-severity flaw stands out: an attacker can trick a system into accepting a fake, attacker-controlled certificate and private key, bypassing authentication with roughly a 1-in-256 success rate per attempt. That is not a one-shot exploit, but against an automated service that retries and reflects success or failure, it becomes a viable oracle. A second tracked flaw, CVE-2026-34182, concerns CMS AuthEnvelopedData processing accepting forged messages when a non-AEAD cipher OID is substituted — letting an on-path attacker re-emit a captured message with the MAC effectively ignored.
How AI Discovered This Flaw
The provenance of CVE-2026-45447 is part of the story. OpenSSL credits the report to Thai Duong of Calif.io, in collaboration with Claude and Anthropic Research, filed on April 27, 2026, with the fix developed by Igor Ustinov. SecurityWeek notes that Anthropic’s Alex Gaynor is credited with roughly half a dozen of the 18 patched flaws, strongly suggesting the AI giant’s Mythos model participated in the sweep.
The operational implication is uncomfortable for any team still treating crypto-library hardening as a backstop rather than a pillar of cloud security posture against advanced threats. High-severity OpenSSL flaws are rare — SecurityWeek records only one patched in all of the prior year, and CVE-2026-45447 is just the second of 2026. If an AI model can surface a dozen plus credible crypto-library bugs in a single coordinated push, the disclosure cadence for foundational libraries is about to compress, and your remediation playbooks need to assume that.
Your Patch Window Has Collapsed
The math on response time has shifted. VulnCheck data cited by Puppet indicates that nearly 28% of critical vulnerabilities are now exploited within 24 hours of public disclosure (Puppet / VulnCheck). Microsoft’s 2026 Patch Tuesday cycles have cleared 200 vulnerabilities in a single round. The comfortable model — wait for the Tuesday after an advisory, test for a week, roll out — no longer survives contact with reality.
For OpenSSL specifically, the window is aggravated by how slowly distributions propagate fixes. Debian has pushed DLA-4630-1 for bullseye and DSA-6335-1 for bookworm and trixie (Debian Security Tracker), but container images, vendor appliances, and pinned library versions will lag. NVD still lists the record as “awaiting enrichment,” which means automated tooling pulling CVSS and EPSS may not yet reflect the true severity (NVD).
Affected and Fixed Versions
| Branch | Status | Upgrade To |
|---|---|---|
| OpenSSL 4.0 | Vulnerable | 4.0.1 |
| OpenSSL 3.6 | Vulnerable | 3.6.3 |
| OpenSSL 3.5 | Vulnerable | 3.5.7 |
| OpenSSL 3.4 | Vulnerable | 3.4.6 |
| OpenSSL 3.0 | Vulnerable | 3.0.21 |
| OpenSSL 1.1.1 | Vulnerable | 1.1.1zh (premium) |
| OpenSSL 1.0.2 | Vulnerable | 1.0.2zq (premium) |
Note that 1.1.1 and 1.0.2 fixes are available to premium-support customers only. If you are running either branch without a support contract, you are effectively on your own — which makes the SBOM-driven inventory step below non-optional rather than best practice.
What SecOps Teams Must Do
- Map exposure by API, not by binary. Query your SBOM and runtime inventory for anything that links OpenSSL, then filter for components that actually invoke PKCS#7 verification — mail gateways, signing services, PKI responders. CMS-API consumers and FIPS-only deployments can be deprioritised, but verify, do not assume. The same SBOM-driven discipline applies to foundational-library flaws like the Linux kernel Copy Fail privilege-escalation bug, where you cannot patch what you cannot see.
- Close the PKCS#7 path first. If a vulnerable component cannot be rebuilt immediately, suppress inbound PKCS#7 / S/MIME signature verification at the gateway or quarantine signed attachments until the patched library is in place.
- Patch the host library, then rebuild dependencies. Replacing the system OpenSSL package is necessary but not sufficient for statically linked or containerised workloads. Rebuild base images and force-refresh any pinned dependency that vendors its own copy.
- Hunt for the bug, not just the patch. A crash log in a mail-handling or signing service that references a double-free or use-after-free in OpenSSL is the detection signal worth alerting on right now.
- Expect this cadence to repeat. AI-assisted discovery means the next foundational-library advisory could carry a similar batch. Treat SBOM coverage and a tested OpenSSL-rollout runbook as standing capability, not a one-off.
References
- OpenSSL Security Advisory — 9th June 2026 (CVE-2026-45447)
- CVE-2026-45447 — NVD Detail
- Debian Security Tracker — CVE-2026-45447
- SecurityWeek — OpenSSL Patches High-Severity Vulnerability Found With AI
- Puppet — AI Found 18 OpenSSL Vulnerabilities
- GitHub — CVE-2026-45447 PoC and Technical Writeup
- SentinelOne — CVE-2026-45447 Vulnerability Database
- The Hacker News — Weekly Recap: Trending CVEs for June 2026