CVE-2023-0215
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
08/02/2023
Last modified:
04/11/2025
Description
The public API function BIO_new_NDEF is a helper function used for streaming<br />
ASN.1 data via a BIO. It is primarily used internally to OpenSSL to support the<br />
SMIME, CMS and PKCS7 streaming capabilities, but may also be called directly by<br />
end user applications.<br />
<br />
The function receives a BIO from the caller, prepends a new BIO_f_asn1 filter<br />
BIO onto the front of it to form a BIO chain, and then returns the new head of<br />
the BIO chain to the caller. Under certain conditions, for example if a CMS<br />
recipient public key is invalid, the new filter BIO is freed and the function<br />
returns a NULL result indicating a failure. However, in this case, the BIO chain<br />
is not properly cleaned up and the BIO passed by the caller still retains<br />
internal pointers to the previously freed filter BIO. If the caller then goes on<br />
to call BIO_pop() on the BIO then a use-after-free will occur. This will most<br />
likely result in a crash.<br />
<br />
<br />
<br />
This scenario occurs directly in the internal function B64_write_ASN1() which<br />
may cause BIO_new_NDEF() to be called and will subsequently call BIO_pop() on<br />
the BIO. This internal function is in turn called by the public API functions<br />
PEM_write_bio_ASN1_stream, PEM_write_bio_CMS_stream, PEM_write_bio_PKCS7_stream,<br />
SMIME_write_ASN1, SMIME_write_CMS and SMIME_write_PKCS7.<br />
<br />
Other public API functions that may be impacted by this include<br />
i2d_ASN1_bio_stream, BIO_new_CMS, BIO_new_PKCS7, i2d_CMS_bio_stream and<br />
i2d_PKCS7_bio_stream.<br />
<br />
The OpenSSL cms and smime command line applications are similarly affected.
Impact
Base Score 3.x
7.50
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.0.2 (including) | 1.0.2zg (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 1.1.1 (including) | 1.1.1t (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.0.0 (including) | 3.0.8 (excluding) |
| cpe:2.3:a:stormshield:stormshield_management_center:*:*:*:*:*:*:*:* | 3.3.3 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3D8818064ce3c3c0f1b740a5aaba2a987e75bfbafd
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3D9816136fe31d92ace4037d5da5257f763aeeb4eb
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3Dc3829dd8825c654652201e16f8a0a0c46ee3f344
- https://security.gentoo.org/glsa/202402-08
- https://security.netapp.com/advisory/ntap-20230427-0007/
- https://security.netapp.com/advisory/ntap-20230427-0009/
- https://security.netapp.com/advisory/ntap-20240621-0006/
- https://www.openssl.org/news/secadv/20230207.txt
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3D8818064ce3c3c0f1b740a5aaba2a987e75bfbafd
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3D9816136fe31d92ace4037d5da5257f763aeeb4eb
- https://git.openssl.org/gitweb/?p=openssl.git%3Ba%3Dcommitdiff%3Bh%3Dc3829dd8825c654652201e16f8a0a0c46ee3f344
- https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2023-0003
- https://security.gentoo.org/glsa/202402-08
- https://security.netapp.com/advisory/ntap-20230427-0007/
- https://security.netapp.com/advisory/ntap-20230427-0009/
- https://security.netapp.com/advisory/ntap-20240621-0006/
- https://www.openssl.org/news/secadv/20230207.txt



