CVE-2023-0401: openssl-src contains `NULL` dereference during PKCS7 data verification
(updated )
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.
References
- git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=d3b6dfd70db844c4499bec6ad6601623a565e674
- github.com/advisories/GHSA-vrh7-x64v-7vxq
- github.com/alexcrichton/openssl-src-rs
- nvd.nist.gov/vuln/detail/CVE-2023-0401
- rustsec.org/advisories/RUSTSEC-2023-0013.html
- security.gentoo.org/glsa/202402-08
- www.openssl.org/news/secadv/20230207.txt
Detect and mitigate CVE-2023-0401 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →