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.
{ "vanir_signatures": [ { "id": "CVE-2024-2511-05d21ef6", "signature_type": "Line", "target": { "file": "ssl/ssl_sess.c" }, "digest": { "line_hashes": [ "237068005254384937667547875889483844978", "113915117782040053630255145392358530759", "66103385765130290457162085093933223558", "162382651939373866582061212683682848533", "76408188136838676687937324189907664685", "260125722951887923555973287923469516789", "162168863295799619329617944683703962609", "159264430167139000382594925269229087884", "218625742145348075137939568597510799794", "132262577977491748484833362742782862377", "149880655905331652701777215391255866459" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08" }, { "id": "CVE-2024-2511-085be921", "signature_type": "Function", "target": { "file": "ssl/statem/statem_srvr.c", "function": "tls_construct_server_hello" }, "digest": { "function_hash": "282121092333121823000089348211305663540", "length": 1940.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d" }, { "id": "CVE-2024-2511-1ac95f2f", "signature_type": "Function", "target": { "file": "ssl/ssl_sess.c", "function": "ssl_session_dup" }, "digest": { "function_hash": "212954300303107326089724544104956651196", "length": 2851.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08" }, { "id": "CVE-2024-2511-27ee7cf8", "signature_type": "Function", "target": { "file": "ssl/ssl_sess.c", "function": "ssl_session_dup" }, "digest": { "function_hash": "7635606872942867414870440948978544895", "length": 2619.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d" }, { "id": "CVE-2024-2511-30888480", "signature_type": "Function", "target": { "file": "ssl/ssl_lib.c", "function": "ssl_update_cache" }, "digest": { "function_hash": "242839529669032139629079760961191258975", "length": 1325.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d" }, { "id": "CVE-2024-2511-4880e2a0", "signature_type": "Function", "target": { "file": "ssl/ssl_sess.c", "function": "ssl_session_dup" }, "digest": { "function_hash": "7635606872942867414870440948978544895", "length": 2619.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce" }, { "id": "CVE-2024-2511-4edd43bb", "signature_type": "Line", "target": { "file": "ssl/ssl_lib.c" }, "digest": { "line_hashes": [ "70837027254147380184232394837312893826", "35849081333738844367146501708823095500", "200567339918318236680609037933296929430", "45616768372581396962167201247601357857" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce" }, { "id": "CVE-2024-2511-535073f1", "signature_type": "Line", "target": { "file": "ssl/statem/statem_srvr.c" }, "digest": { "line_hashes": [ "175923431394192972363936778328285162033", "38339879515594619117610231575660264724", "174681001384431283175637828303769415213", "131831670793621309890501412306824758312", "329438803076000449442289115165415388072", "195726165541695366769363416913210763411" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d" }, { "id": "CVE-2024-2511-617b54c9", "signature_type": "Line", "target": { "file": "ssl/ssl_lib.c" }, "digest": { "line_hashes": [ "70837027254147380184232394837312893826", "35849081333738844367146501708823095500", "200567339918318236680609037933296929430", "45616768372581396962167201247601357857" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d" }, { "id": "CVE-2024-2511-6cc0b590", "signature_type": "Function", "target": { "file": "ssl/ssl_lib.c", "function": "ssl_update_cache" }, "digest": { "function_hash": "242839529669032139629079760961191258975", "length": 1325.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce" }, { "id": "CVE-2024-2511-8815d9ec", "signature_type": "Function", "target": { "file": "ssl/statem/statem_srvr.c", "function": "tls_construct_server_hello" }, "digest": { "function_hash": "282121092333121823000089348211305663540", "length": 1940.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce" }, { "id": "CVE-2024-2511-8d10cd60", "signature_type": "Line", "target": { "file": "ssl/ssl_sess.c" }, "digest": { "line_hashes": [ "237068005254384937667547875889483844978", "113915117782040053630255145392358530759", "66103385765130290457162085093933223558", "162382651939373866582061212683682848533", "76408188136838676687937324189907664685", "260125722951887923555973287923469516789", "162168863295799619329617944683703962609", "159264430167139000382594925269229087884", "218625742145348075137939568597510799794", "132262577977491748484833362742782862377", "149880655905331652701777215391255866459" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/b52867a9f618bb955bed2a3ce3db4d4f97ed8e5d" }, { "id": "CVE-2024-2511-90c67130", "signature_type": "Line", "target": { "file": "ssl/ssl_sess.c" }, "digest": { "line_hashes": [ "237068005254384937667547875889483844978", "113915117782040053630255145392358530759", "66103385765130290457162085093933223558", "162382651939373866582061212683682848533", "76408188136838676687937324189907664685", "260125722951887923555973287923469516789", "162168863295799619329617944683703962609", "159264430167139000382594925269229087884", "218625742145348075137939568597510799794", "132262577977491748484833362742782862377", "149880655905331652701777215391255866459" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce" }, { "id": "CVE-2024-2511-a7e112c0", "signature_type": "Function", "target": { "file": "ssl/statem/statem_srvr.c", "function": "tls_construct_server_hello" }, "digest": { "function_hash": "179926413095981420004483889142535469138", "length": 2052.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08" }, { "id": "CVE-2024-2511-adc20d36", "signature_type": "Function", "target": { "file": "ssl/ssl_lib.c", "function": "ssl_update_cache" }, "digest": { "function_hash": "122597478856692738374150515729258319484", "length": 1338.0 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08" }, { "id": "CVE-2024-2511-ce686be8", "signature_type": "Line", "target": { "file": "ssl/ssl_lib.c" }, "digest": { "line_hashes": [ "93537334691950515621301137830879284931", "35849081333738844367146501708823095500", "200567339918318236680609037933296929430", "45616768372581396962167201247601357857" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08" }, { "id": "CVE-2024-2511-debfdb2d", "signature_type": "Line", "target": { "file": "ssl/statem/statem_srvr.c" }, "digest": { "line_hashes": [ "175923431394192972363936778328285162033", "38339879515594619117610231575660264724", "174681001384431283175637828303769415213", "131831670793621309890501412306824758312", "329438803076000449442289115165415388072", "195726165541695366769363416913210763411" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce" }, { "id": "CVE-2024-2511-f21161fc", "signature_type": "Line", "target": { "file": "ssl/statem/statem_srvr.c" }, "digest": { "line_hashes": [ "307259160925884979239909551177310072787", "259789776830101890545412969749917438549", "240979021145574152778594971926175841334", "307251461390486550372699034100303709344", "307443394972201777838578310877614697806", "195726165541695366769363416913210763411" ], "threshold": 0.9 }, "deprecated": false, "signature_version": "v1", "source": "https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08" } ] }