Hardening around not_resumable sessions
authorMatt Caswell <matt@openssl.org>
Fri, 15 Mar 2024 17:58:42 +0000 (17:58 +0000)
committerTomas Mraz <tomas@openssl.org>
Mon, 8 Apr 2024 10:06:25 +0000 (12:06 +0200)
Make sure we can't inadvertently use a not_resumable session

Related to CVE-2024-2511

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24042)

ssl/ssl_sess.c

index 97830d2e6a02dd5a1f97db21a27ea36ae666475b..594256d0f19addf2558f59af2cd79da904f4cda0 100644 (file)
@@ -519,6 +519,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
                                              sess_id, sess_id_len, &copy);
 
         if (ret != NULL) {
+            if (ret->not_resumable) {
+                /* If its not resumable then ignore this session */
+                if (!copy)
+                    SSL_SESSION_free(ret);
+                return NULL;
+            }
             ssl_tsan_counter(s->session_ctx,
                              &s->session_ctx->stats.sess_cb_hit);