CVE Catalog

CVE-2022-1473

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

High risk
2.52%

85th percentile - higher than 85% of all known CVEs

Summary

The OPENSSL_LH_flush() function in OpenSSL, which empties a hash table, contains a bug that breaks reuse of the memory occupied by removed hash table entries. This function is used when decoding certificates or keys. If a long-lived process periodically decodes certificates or keys, its memory usage will expand without bounds and the process might be terminated by the operating system, causing a denial of service. Also, traversing the empty hash table entries will take increasingly more time. The issue affects OpenSSL 3.0.0, 3.0.1, and 3.0.2; it is fixed in 3.0.3.

Risk Assessment

Long-lived processes such as TLS clients or servers with client certificate authentication may be terminated due to memory exhaustion, leading to denial of service.

Recommendation

Update OpenSSL to version 3.0.3 or later. Monitor memory usage in long-lived processes using OpenSSL 3.0.x.

Other vulnerabilities in OpenSSL

See all
Original NVD description (English source)

The OPENSSL_LH_flush() function, which empties a hash table, contains a bug that breaks reuse of the memory occuppied by the removed hash table entries. This function is used when decoding certificates or keys. If a long lived process periodically decodes certificates or keys its memory usage will expand without bounds and the process might be terminated by the operating system causing a denial of service. Also traversing the empty hash table entries will take increasingly more time. Typically such long lived processes might be TLS clients or TLS servers configured to accept client certificate authentication. The function was added in the OpenSSL 3.0 version thus older releases are not affected by the issue. Fixed in OpenSSL 3.0.3 (Affected 3.0.0,3.0.1,3.0.2).

Vulnerability data from NVD (NIST) · CISA KEV · EPSS