CVE-2022-1473 in OpenSSLinfo

Summary

by MITRE • 05/03/2022

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).

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 11/26/2024

The vulnerability described in CVE-2022-1473 represents a critical memory management flaw within the OpenSSL library that specifically affects version 3.0.0 through 3.0.2. This issue resides in the OPENSSL_LH_flush() function, which is responsible for clearing hash table entries during certificate and key decoding operations. The flaw manifests as a memory leak condition where the memory occupied by removed hash table entries cannot be properly reused, creating a persistent memory consumption problem that grows without bounds over time. This vulnerability is particularly concerning because it directly impacts the stability and resource utilization of long-running OpenSSL-based applications that frequently process cryptographic materials. The function's implementation fails to properly handle memory deallocation for hash table entries, resulting in a gradual accumulation of unreclaimed memory that eventually leads to system resource exhaustion. According to the CWE taxonomy, this vulnerability maps to CWE-401: Improper Release of Memory Before Removal from Pool, which specifically addresses memory management issues where resources are not properly returned to their allocation pools. The operational impact extends beyond simple memory consumption to include performance degradation, as the traversal of empty hash table entries becomes increasingly time-consuming as the memory leak accumulates. This degradation affects the overall responsiveness of the cryptographic processing system, making it particularly dangerous for production environments where consistent performance is critical. The vulnerability affects TLS clients and servers that utilize client certificate authentication, which are common in enterprise security infrastructures and secure communication protocols. These applications typically maintain persistent connections and continuously process certificate and key material, making them ideal targets for the memory leak exploitation. The issue was introduced in OpenSSL 3.0.0 as part of the new hash table implementation, meaning that all versions within the 3.0.x series prior to 3.0.3 are vulnerable. The fix implemented in OpenSSL 3.0.3 addresses the core memory management issue by ensuring proper deallocation and reuse of memory blocks associated with hash table entries. From an attacker perspective, this vulnerability aligns with the ATT&CK technique T1499.004: Endpoint Denial of Service, specifically targeting resource exhaustion attacks that can cause system instability. The vulnerability represents a classic case of memory management failure that can be exploited to cause denial of service conditions in well-established cryptographic services. Organizations running long-lived OpenSSL processes that handle certificate or key decoding operations are particularly at risk, as the memory leak can eventually cause the process to be terminated by the operating system's memory management subsystem. The fix demonstrates proper memory management practices that align with industry standards for secure coding, ensuring that hash table entries are properly deallocated and their memory can be reused rather than leaked. This vulnerability highlights the importance of thorough testing and validation of memory management functions in cryptographic libraries, where resource exhaustion can lead to service disruption and potential security implications. The affected environment includes any system that relies on OpenSSL 3.0.0 through 3.0.2 for TLS/SSL operations, particularly those handling certificate authentication, making it a critical issue for enterprise security infrastructure. The resolution requires immediate patching of affected OpenSSL installations to prevent potential exploitation and ensure continued system stability.

Reservation

04/26/2022

Disclosure

05/03/2022

Moderation

accepted

CPE

ready

EPSS

0.02386

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!