Executive brief
OpenSSL is a widely used security library that enables encrypted communications for websites and applications. A flaw in how it handles secure connections (TLS 1.3) can cause a server's memory usage to grow indefinitely until the system crashes or becomes unresponsive. This could allow an attacker to knock a service offline, though it requires the server to be using a specific, non-default configuration.
Technical details
A vulnerability exists in OpenSSL's session cache management when handling TLSv1.3. When the non-default SSL_OP_NO_TICKET option is enabled (and early_data is not used), session objects can be incorrectly marked as 'not_resumable' during multi-threaded resumption attempts. A secondary bug causes these sessions to have their session_id_length set to 0, preventing them from being flushed from the cache. An attacker can deliberately trigger this state to cause the session cache to grow indefinitely, resulting in a Denial of Service (DoS) via memory exhaustion. The issue affects OpenSSL versions 3.2, 3.1, 3.0, and 1.1.1.
Affected products
- OpenSSL Foundation OpenSSL 3.2, 3.1, 3.0, 1.1.1
Timeline
- 2024-02-27: disclosed: Reported by Manish Patidar (HPE)
- 2024-04-08: advisory
- 2024-04-08: patched: Fixes available in git commits; official releases scheduled for 3.2.2, 3.1.6, 3.0.14, and 1.1.1y
References
- https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce
- https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d
- https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08
- https://github.openssl.org/openssl/extended-releases/commit/5f8d25770ae6437db119dfc951e207271a326640
- https://www.openssl.org/news/secadv/20240408.txt
- http://www.openwall.com/lists/oss-security/2024/04/08/5
- https://lists.debian.org/debian-lts-announce/2024/10/msg00033.html