Carpetfuzz

#32600of 53,622
7.8Total CVSS
Vulnerabilities · 1
PT-2021-7737
7.8
2021-12-08
Openssl · Openssl · CVE-2022-4450
**Name of the Vulnerable Software and Affected Versions** OpenSSL (affected versions not specified) **Description** The function PEM read bio ex() reads a PEM file from a BIO and parses and decodes the "name" (e.g. "CERTIFICATE"), any header data and the payload data. If the function succeeds then the `name out`, `header` and `data` arguments are populated with pointers to buffers containing the relevant decoded data. The caller is responsible for freeing those buffers. It is possible to construct a PEM file that results in 0 bytes of payload data. In this case PEM read bio ex() will return a failure code but will populate the `header` argument with a pointer to a buffer that has already been freed. If the caller also frees this buffer then a double free will occur. This will most likely lead to a crash. This could be exploited by an attacker who has the ability to supply malicious PEM files for parsing to achieve a denial of service attack. The functions PEM read bio() and PEM read() are simple wrappers around PEM read bio ex() and therefore these functions are also directly affected. These functions are also called indirectly by a number of other OpenSSL functions including PEM X509 INFO read bio ex() and SSL CTX use serverinfo file() which are also vulnerable. Some OpenSSL internal uses of these functions are not vulnerable because the caller does not free the `header` argument if PEM read bio ex() returns a failure code. These locations include the PEM read bio TYPE() functions as well as the decoders introduced in OpenSSL 3.0. The OpenSSL asn1parse command line application is also impacted by this issue. **Recommendations** At the moment, there is no information about a newer version that contains a fix for this vulnerability.