NULL Pointer Dereference
CVE-2023-0401
Summary
A NULL pointer can be dereferenced when signatures are being verified on "PKCS7" signed or "signedAndEnveloped" data. In case the hash algorithm used for the signature is known to the OpenSSL library but the implementation of the hash algorithm is not available the digest initialization will fail. There is a missing check for the return value from the "initialization" function which later leads to invalid usage of the digest API most likely leading to a crash. The unavailability of an algorithm can be caused by using "FIPS" enabled configuration of providers or more commonly by not loading the legacy provider. "PKCS7" data is processed by the "SMIME" library calls and also by the time stamp (TS) library calls. The TLS implementation in OpenSSL does not call these functions however third party applications would be affected if they call these functions to verify signatures on untrusted data. This issue affects OpenSSL versions 3.0.x prior to 3.0.8.
- LOW
- NETWORK
- NONE
- UNCHANGED
- NONE
- NONE
- NONE
- HIGH
CWE-476 - NULL Pointer Dereference
A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit.
References
Advisory Timeline
- Published