From: Igor Ustinov Date: Mon, 12 Jan 2026 11:19:59 +0000 (+0100) Subject: Correct handling of AEAD-encrypted CMS with inadmissibly long IV X-Git-Tag: openssl-3.0.19~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce39170276daec87f55c39dad1f629b56344429e;p=thirdparty%2Fopenssl.git Correct handling of AEAD-encrypted CMS with inadmissibly long IV Fixes CVE-2025-15467 Reviewed-by: Norbert Pocs Reviewed-by: Eugene Syromiatnikov Reviewed-by: Tomas Mraz MergeDate: Mon Jan 26 19:34:29 2026 --- diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c index bee4e62dea2..72f374c81a6 100644 --- a/crypto/evp/evp_lib.c +++ b/crypto/evp/evp_lib.c @@ -249,10 +249,9 @@ int evp_cipher_get_asn1_aead_params(EVP_CIPHER_CTX *c, ASN1_TYPE *type, if (type == NULL || asn1_params == NULL) return 0; - i = ossl_asn1_type_get_octetstring_int(type, &tl, NULL, EVP_MAX_IV_LENGTH); - if (i <= 0) + i = ossl_asn1_type_get_octetstring_int(type, &tl, iv, EVP_MAX_IV_LENGTH); + if (i <= 0 || i > EVP_MAX_IV_LENGTH) return -1; - ossl_asn1_type_get_octetstring_int(type, &tl, iv, i); memcpy(asn1_params->iv, iv, i); asn1_params->iv_len = i;