Katalog CVE

CVE-2022-4450

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Bardzo wysokie ryzyko
20.29%

Percentyl 97 - wyżej niż 97% wszystkich znanych CVE

Streszczenie

Podatność w funkcji PEM_read_bio_ex() w OpenSSL pozwala na podwójne zwolnienie pamięci (double free) podczas parsowania specjalnie skonstruowanych plików PEM z zerową ilością danych. Może to prowadzić do awarii procesu i stanowić wektor ataku DoS.

Ocena ryzyka

Atakujący, który może dostarczyć złośliwy plik PEM do parsowania (np. przez aplikację korzystającą z OpenSSL), może spowodować crash usługi, co prowadzi do przerwy w działaniu (denial of service).

Rekomendacja

Zaktualizuj OpenSSL do wersji, w której naprawiono tę podatność (np. 3.0.7, 1.1.1s lub nowsze). Jeśli nie jest to możliwe, ogranicz zaufane źródła plików PEM i monitoruj logi pod kątem anomalii.

Inne podatności w OpenSSL

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS