Skip to main content
← All vulnerabilities
CVE-2026-22796

ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes() function

Published
Last modified
published
Not listed in CISA KEV
Low (openssl)
Fix
Fixed in 3.6.1, 3.5.5, 3.4.4, 3.3.6, 3.0.19, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

Issue summary: A type confusion vulnerability exists in the signature verification of signed PKCS#7 data where an ASN1_TYPE union member is accessed without first validating the type, causing an invalid or NULL pointer dereference when processing malformed PKCS#7 data. Impact summary: An application performing signature verification of PKCS#7 data or calling directly the PKCS7_digest_from_attributes() function can be caused to dereference an invalid or NULL pointer when reading, resulting in a Denial of Service. The function PKCS7_digest_from_attributes() accesses the message digest attribute value without validating its type. When the type is not V_ASN1_OCTET_STRING, this results in accessing invalid memory through the ASN1_TYPE union, causing a crash. Exploiting this vulnerability requires an attacker to provide a malformed signed PKCS#7 to an application that verifies it. The impact of the exploit is just a Denial of Service, the PKCS7 API is legacy and applications should be using the CMS API instead. For these reasons the issue was assessed as Low severity. The FIPS modules in 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the PKCS#7 parsing implementation is outside the OpenSSL FIPS module boundary. OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0, 1.1.1 and 1.0.2 are vulnerable to this issue.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • OpenSSL OpenSSL

    From 3.6.0 · fixed in 3.6.1; From 3.5.0 · fixed in 3.5.5; From 3.4.0 · fixed in 3.4.4; From 3.3.0 · fixed in 3.3.6; From 3.0.0 · fixed in 3.0.19; From 1.1.1 · fixed in 1.1.1ze; From 1.0.2 · fixed in 1.0.2zn

References 6

openssl-library.org

GitHub · openssl/openssl