CVE-2024-2511:
Issue summary: Some non-default TLS server configurations can cause unbounded
memory growth when...
5.9
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.8296%
CWE
Published
4/8/2024
Updated
3/28/2025
KEV Status
No
Technology
-
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability (CVE-2024-2511) causes unbounded memory growth in the TLSv1.3 session cache under specific non-default configurations (SSL_OP_NO_TICKET active, early_data not in use). The analysis of the provided patches (commits 7e4d731b1c07201ad9374c1cd9ac5263bdf35bce, b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d, and e9d7083e241670332e0443da0f0d4ffb52829f08) reveals a sequence of operations involving three key functions that, in their pre-patch state, contributed to this issue:
ssl_session_dup
(specifically, the logic later moved tossl_session_dup_intern
): This function would duplicate a session and incorrectly copy thenot_resumable
status to the new session destined for the cache.ssl_update_cache
: This function, in its pre-patch state, would allow thesenot_resumable
(but initially having a valid session ID) sessions to be added to the cache.tls_construct_server_hello
: This function, in its pre-patch state, would then set thesession_id_length
of such cachednot_resumable
sessions to zero. This action rendered these sessions unremovable by standard cache flushing mechanisms, as they could no longer be looked up by their ID, leading to the cache growing indefinitely. The patches address these issues by ensuring duplicated sessions for caching are marked as resumable, preventingnot_resumable
sessions from being cached, and adjusting the logic that zeroes out session ID lengths. The identified functions are those whose pre-patch behavior directly led to the creation and persistence of these problematic cache entries.