]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
ml_kem: Add a check for shared_secret
authorLoganaden Velvindron <logan@cyberstorm.mu>
Thu, 2 Jul 2026 05:13:45 +0000 (09:13 +0400)
committerNorbert Pocs <norbertp@openssl.org>
Mon, 20 Jul 2026 11:21:13 +0000 (13:21 +0200)
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
MergeDate: Mon Jul 20 11:21:15 2026
(Merged from https://github.com/openssl/openssl/pull/31822)

crypto/ml_kem/ml_kem.c

index 27fa15e246561a243605fe274350062ef9fe39c8..89960dc105e21cc942b7315f9d68ac6211238dd5 100644 (file)
@@ -2032,11 +2032,13 @@ int ossl_ml_kem_decap(uint8_t *shared_secret, size_t slen,
 #endif
 
     /* Need a private key here */
-    if (!ossl_ml_kem_have_prvkey(key))
+    if (!ossl_ml_kem_have_prvkey(key)
+        || shared_secret == NULL
+        || slen < ML_KEM_SHARED_SECRET_BYTES)
         return 0;
     vinfo = key->vinfo;
 
-    if (shared_secret == NULL || slen != ML_KEM_SHARED_SECRET_BYTES
+    if (slen != ML_KEM_SHARED_SECRET_BYTES
         || ctext == NULL || clen != vinfo->ctext_bytes
         || (mdctx = EVP_MD_CTX_new()) == NULL) {
         (void)RAND_bytes_ex(key->libctx, shared_secret,