CVE-2026-22796
OpenSSL vulnerability analysis and mitigation

Overview

CVE-2026-22796 is a type confusion vulnerability in OpenSSL's PKCS#7 signature verification that can cause a Denial of Service via NULL or invalid pointer dereference. The flaw exists in the PKCS7_digest_from_attributes() function, which accesses an ASN1_TYPE union member without first validating the type field. It was disclosed on January 27, 2026, and affects OpenSSL versions 1.0.2 (before 1.0.2zn), 1.1.1 (before 1.1.1ze), 3.0.x (before 3.0.19), 3.3.x (before 3.3.6), 3.4.x (before 3.4.4), 3.5.x (before 3.5.5), and 3.6.x (before 3.6.1). It carries a CVSS v3.1 base score of 5.3 (Medium) (OpenSSL Advisory, Red Hat CVE).

Technical details

The root cause is improper validation of specified input type (CWE-1287) combined with improper check for unusual conditions (CWE-754). In crypto/pkcs7/pk7_doit.c, the function PKCS7_digest_from_attributes() retrieves the message digest attribute and directly accesses astype->value.octet_string without first checking that astype->type == V_ASN1_OCTET_STRING. When a malformed PKCS#7 structure supplies an attribute with a different ASN.1 type, the union access reads invalid memory, causing a crash. The fix, applied across multiple OpenSSL branches, adds a type check (if (astype->type != V_ASN1_OCTET_STRING) return NULL;) before the union member is accessed. Similar unvalidated access patterns were also corrected in crypto/pkcs12/p12_kiss.c and apps/s_client.c as part of the same patch set (OpenSSL Commit ef2fb66, OpenSSL Commit 2502e7b).

Impact

Successful exploitation results in a crash of the affected application, causing a Denial of Service. The impact is limited to availability — there is no confidentiality or integrity impact, as the vulnerability only causes an invalid or NULL pointer dereference during a read operation. Applications that perform PKCS#7 signature verification or directly call PKCS7_digest_from_attributes() are at risk; the FIPS modules in OpenSSL 3.0, 3.3, 3.4, and 3.5 are not affected since PKCS#7 parsing is outside the FIPS module boundary (OpenSSL Advisory).

Exploitation steps

  1. Identify target application: Locate an application that performs PKCS#7 signature verification using OpenSSL's legacy PKCS#7 API (e.g., email clients, VPN software, or custom PKI tools using an affected OpenSSL version).
  2. Craft malformed PKCS#7 data: Construct a signed PKCS#7 structure where the messageDigest attribute's ASN.1 type is set to something other than V_ASN1_OCTET_STRING (e.g., V_ASN1_UTF8STRING or another type), violating the expected format.
  3. Submit malformed data: Deliver the crafted PKCS#7 blob to the target application through whatever input channel it accepts (e.g., file upload, network message, API call).
  4. Trigger crash: When the application calls PKCS7_digest_from_attributes(), it accesses the union member without type validation, causing an invalid memory read and application crash (Denial of Service) (OpenSSL Advisory, OpenSSL Commit ef2fb66).

Indicators of compromise

  • Logs: Application crash logs or core dumps referencing PKCS7_digest_from_attributes() or pk7_doit.c; segmentation fault signals from OpenSSL-linked processes.
  • Process: Unexpected termination of services that perform PKCS#7 signature verification (e.g., mail servers, VPN daemons, PKI validation services).
  • Network: Repeated submission of malformed PKCS#7 data to an exposed service endpoint, potentially visible as anomalous or oversized certificate/signature payloads in network captures.

Mitigation and workarounds

Upgrade OpenSSL to one of the following patched versions: 1.0.2zn, 1.1.1ze, 3.0.19, 3.3.6, 3.4.4, 3.5.5, or 3.6.1. Patches have been applied across all affected branches via multiple commits to the OpenSSL repository. As a longer-term architectural mitigation, OpenSSL recommends migrating applications from the legacy PKCS#7 API to the CMS API, which is not affected by this issue. Downstream vendors including Red Hat, Debian, Ubuntu, SUSE, FreeBSD, IBM, Splunk, and Dell have released updated packages (OpenSSL Advisory, Red Hat RHSA-2026:1472, Splunk Advisory).

Community reactions

The vulnerability was part of a batch of 12 OpenSSL CVEs disclosed in January 2026, several of which were discovered by an AI-assisted security research team (Aisle), generating notable media coverage about AI's role in vulnerability discovery (Tom's Hardware, TechRadar). The OpenSSL project and community acknowledged the high quality of the AI-generated vulnerability reports. Security community discussion on Reddit's r/blueteamsec and Mastodon noted the batch disclosure and encouraged prompt patching. CVE-2026-22796 itself was assessed as Low severity by OpenSSL due to its DoS-only impact and legacy API context.

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