Issue summary: An invalid or NULL pointer dereference can happen in an application processing a malformed PKCS#12 file.
Impact summary: An application processing a malformed PKCS#12 file can be caused to dereference an invalid or NULL pointer on memory read, resulting in a Denial of Service.
A type confusion vulnerability exists in PKCS#12 parsing code where an ASN1_TYPE union member is accessed without first validating the type, causing an invalid pointer read.
The location is constrained to a 1-byte address space, meaning any attempted pointer manipulation can only target addresses between 0x00 and 0xFF. This range corresponds to the zero page, which is unmapped on most modern operating systems and will reliably result in a crash, leading only to a Denial of Service. Exploiting this issue also requires a user or application to process a maliciously crafted PKCS#12 file. It is uncommon to accept untrusted PKCS#12 files in applications as they are usually used to store private keys which are trusted by definition. 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 PKCS12 implementation is outside the OpenSSL FIPS module boundary.
OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 and 1.1.1 are vulnerable to this issue.
OpenSSL 1.0.2 is not affected by this issue.
The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Red Hat Enterprise Linux 10 | RedHat | openssl-1:3.5.1-7.el10_1 | * |
| Red Hat Enterprise Linux 9 | RedHat | openssl-1:3.5.1-7.el9_7 | * |
| Red Hat Enterprise Linux 9 | RedHat | openssl-1:3.5.1-7.el9_7 | * |
| Edk2 | Ubuntu | plucky | * |
| Nodejs | Ubuntu | esm-apps/jammy | * |
| Nodejs | Ubuntu | jammy | * |
| Openssl | Ubuntu | devel | * |
| Openssl | Ubuntu | esm-infra/bionic | * |
| Openssl | Ubuntu | esm-infra/focal | * |
| Openssl | Ubuntu | fips-preview/jammy | * |
| Openssl | Ubuntu | fips-updates/bionic | * |
| Openssl | Ubuntu | fips-updates/focal | * |
| Openssl | Ubuntu | fips-updates/jammy | * |
| Openssl | Ubuntu | fips/bionic | * |
| Openssl | Ubuntu | fips/focal | * |
| Openssl | Ubuntu | jammy | * |
| Openssl | Ubuntu | noble | * |
| Openssl | Ubuntu | plucky | * |
| Openssl | Ubuntu | questing | * |
| Openssl | Ubuntu | upstream | * |
The programmer may assume that certain events or conditions will never occur or do not need to be worried about, such as low memory conditions, lack of access to resources due to restrictive permissions, or misbehaving clients or components. However, attackers may intentionally trigger these unusual conditions, thus violating the programmer’s assumptions, possibly introducing instability, incorrect behavior, or a vulnerability. Note that this entry is not exclusively about the use of exceptions and exception handling, which are mechanisms for both checking and handling unusual or unexpected conditions.