提交 6bf896d9 编写于 作者: D Dr. Stephen Henson

Check GOST parameters are not NULL (CVE-2012-0027)

上级 be71c372
...@@ -261,6 +261,9 @@ ...@@ -261,6 +261,9 @@
*) Add support for SCTP. *) Add support for SCTP.
[Robin Seggelmann <seggelmann@fh-muenster.de>] [Robin Seggelmann <seggelmann@fh-muenster.de>]
*) Check parameters are not NULL in GOST ENGINE. (CVE-2012-0027)
[Andrey Kulikov <amdeich@gmail.com>]
*) Prevent malformed RFC3779 data triggering an assertion failure. *) Prevent malformed RFC3779 data triggering an assertion failure.
Thanks to Andrew Chi, BBN Technologies, for discovering the flaw Thanks to Andrew Chi, BBN Technologies, for discovering the flaw
and Rob Austein <sra@hactrn.net> for fixing it. (CVE-2011-4577) and Rob Austein <sra@hactrn.net> for fixing it. (CVE-2011-4577)
......
...@@ -280,6 +280,10 @@ int pkey_GOST01cp_decrypt(EVP_PKEY_CTX *pctx, unsigned char *key, size_t * key_l ...@@ -280,6 +280,10 @@ int pkey_GOST01cp_decrypt(EVP_PKEY_CTX *pctx, unsigned char *key, size_t * key_l
} }
param = get_encryption_params(gkt->key_agreement_info->cipher); param = get_encryption_params(gkt->key_agreement_info->cipher);
if(!param){
goto err;
}
gost_init(&ctx,param->sblock); gost_init(&ctx,param->sblock);
OPENSSL_assert(gkt->key_agreement_info->eph_iv->length==8); OPENSSL_assert(gkt->key_agreement_info->eph_iv->length==8);
memcpy(wrappedKey,gkt->key_agreement_info->eph_iv->data,8); memcpy(wrappedKey,gkt->key_agreement_info->eph_iv->data,8);
......
...@@ -261,6 +261,10 @@ int pkey_GOST94cp_decrypt(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *key_len ...@@ -261,6 +261,10 @@ int pkey_GOST94cp_decrypt(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *key_len
} }
param = get_encryption_params(gkt->key_agreement_info->cipher); param = get_encryption_params(gkt->key_agreement_info->cipher);
if(!param){
goto err;
}
gost_init(&cctx,param->sblock); gost_init(&cctx,param->sblock);
OPENSSL_assert(gkt->key_agreement_info->eph_iv->length==8); OPENSSL_assert(gkt->key_agreement_info->eph_iv->length==8);
memcpy(wrappedKey,gkt->key_agreement_info->eph_iv->data,8); memcpy(wrappedKey,gkt->key_agreement_info->eph_iv->data,8);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册