Issue summary: Some non-default TLS server configurations can cause unbounded memory growth when processing TLSv1.3 sessions
Impact summary: An attacker may exploit certain server configurations to trigger unbounded memory growth that would lead to a Denial of Service
This problem can occur in TLSv1.3 if the non-default SSLOPNOTICKET option is being used (but not if earlydata support is also configured and the default anti-replay protection is in use). In this case, under certain conditions, the session cache can get into an incorrect state and it will fail to flush properly as it fills. The session cache will continue to grow in an unbounded manner. A malicious client could deliberately create the scenario for this failure to force a Denial of Service. It may also happen by accident in normal operation.
This issue only affects TLS servers supporting TLSv1.3. It does not affect TLS clients.
The FIPS modules in 3.2, 3.1 and 3.0 are not affected by this issue. OpenSSL 1.0.2 is also not affected by this issue.
[
{
"source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/ssl_sess.c"
},
"id": "CVE-2024-2511-05d21ef6",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"237068005254384937667547875889483844978",
"113915117782040053630255145392358530759",
"66103385765130290457162085093933223558",
"162382651939373866582061212683682848533",
"76408188136838676687937324189907664685",
"260125722951887923555973287923469516789",
"162168863295799619329617944683703962609",
"159264430167139000382594925269229087884",
"218625742145348075137939568597510799794",
"132262577977491748484833362742782862377",
"149880655905331652701777215391255866459"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "tls_construct_server_hello",
"file": "ssl/statem/statem_srvr.c"
},
"id": "CVE-2024-2511-085be921",
"signature_type": "Function",
"digest": {
"length": 1940.0,
"function_hash": "282121092333121823000089348211305663540"
}
},
{
"source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "ssl_session_dup",
"file": "ssl/ssl_sess.c"
},
"id": "CVE-2024-2511-1ac95f2f",
"signature_type": "Function",
"digest": {
"length": 2851.0,
"function_hash": "212954300303107326089724544104956651196"
}
},
{
"source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "ssl_session_dup",
"file": "ssl/ssl_sess.c"
},
"id": "CVE-2024-2511-27ee7cf8",
"signature_type": "Function",
"digest": {
"length": 2619.0,
"function_hash": "7635606872942867414870440948978544895"
}
},
{
"source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "ssl_update_cache",
"file": "ssl/ssl_lib.c"
},
"id": "CVE-2024-2511-30888480",
"signature_type": "Function",
"digest": {
"length": 1325.0,
"function_hash": "242839529669032139629079760961191258975"
}
},
{
"source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "ssl_session_dup",
"file": "ssl/ssl_sess.c"
},
"id": "CVE-2024-2511-4880e2a0",
"signature_type": "Function",
"digest": {
"length": 2619.0,
"function_hash": "7635606872942867414870440948978544895"
}
},
{
"source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/ssl_lib.c"
},
"id": "CVE-2024-2511-4edd43bb",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"70837027254147380184232394837312893826",
"35849081333738844367146501708823095500",
"200567339918318236680609037933296929430",
"45616768372581396962167201247601357857"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/statem/statem_srvr.c"
},
"id": "CVE-2024-2511-535073f1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"175923431394192972363936778328285162033",
"38339879515594619117610231575660264724",
"174681001384431283175637828303769415213",
"131831670793621309890501412306824758312",
"329438803076000449442289115165415388072",
"195726165541695366769363416913210763411"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/ssl_lib.c"
},
"id": "CVE-2024-2511-617b54c9",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"70837027254147380184232394837312893826",
"35849081333738844367146501708823095500",
"200567339918318236680609037933296929430",
"45616768372581396962167201247601357857"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "ssl_update_cache",
"file": "ssl/ssl_lib.c"
},
"id": "CVE-2024-2511-6cc0b590",
"signature_type": "Function",
"digest": {
"length": 1325.0,
"function_hash": "242839529669032139629079760961191258975"
}
},
{
"source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "tls_construct_server_hello",
"file": "ssl/statem/statem_srvr.c"
},
"id": "CVE-2024-2511-8815d9ec",
"signature_type": "Function",
"digest": {
"length": 1940.0,
"function_hash": "282121092333121823000089348211305663540"
}
},
{
"source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/ssl_sess.c"
},
"id": "CVE-2024-2511-8d10cd60",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"237068005254384937667547875889483844978",
"113915117782040053630255145392358530759",
"66103385765130290457162085093933223558",
"162382651939373866582061212683682848533",
"76408188136838676687937324189907664685",
"260125722951887923555973287923469516789",
"162168863295799619329617944683703962609",
"159264430167139000382594925269229087884",
"218625742145348075137939568597510799794",
"132262577977491748484833362742782862377",
"149880655905331652701777215391255866459"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/ssl_sess.c"
},
"id": "CVE-2024-2511-90c67130",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"237068005254384937667547875889483844978",
"113915117782040053630255145392358530759",
"66103385765130290457162085093933223558",
"162382651939373866582061212683682848533",
"76408188136838676687937324189907664685",
"260125722951887923555973287923469516789",
"162168863295799619329617944683703962609",
"159264430167139000382594925269229087884",
"218625742145348075137939568597510799794",
"132262577977491748484833362742782862377",
"149880655905331652701777215391255866459"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "tls_construct_server_hello",
"file": "ssl/statem/statem_srvr.c"
},
"id": "CVE-2024-2511-a7e112c0",
"signature_type": "Function",
"digest": {
"length": 2052.0,
"function_hash": "179926413095981420004483889142535469138"
}
},
{
"source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "ssl_update_cache",
"file": "ssl/ssl_lib.c"
},
"id": "CVE-2024-2511-adc20d36",
"signature_type": "Function",
"digest": {
"length": 1338.0,
"function_hash": "122597478856692738374150515729258319484"
}
},
{
"source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/ssl_lib.c"
},
"id": "CVE-2024-2511-ce686be8",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"93537334691950515621301137830879284931",
"35849081333738844367146501708823095500",
"200567339918318236680609037933296929430",
"45616768372581396962167201247601357857"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/statem/statem_srvr.c"
},
"id": "CVE-2024-2511-debfdb2d",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"175923431394192972363936778328285162033",
"38339879515594619117610231575660264724",
"174681001384431283175637828303769415213",
"131831670793621309890501412306824758312",
"329438803076000449442289115165415388072",
"195726165541695366769363416913210763411"
]
}
},
{
"source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "ssl/statem/statem_srvr.c"
},
"id": "CVE-2024-2511-f21161fc",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"307259160925884979239909551177310072787",
"259789776830101890545412969749917438549",
"240979021145574152778594971926175841334",
"307251461390486550372699034100303709344",
"307443394972201777838578310877614697806",
"195726165541695366769363416913210763411"
]
}
}
]