diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-10-02 13:10:29 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2015-12-03 13:45:13 +0100 |
commit | d8541d7e9e63bf5f343af24644046c8d96498c17 (patch) | |
tree | 43aed4aaccaa13d265cb7b184d3e87f8f082a525 | |
parent | b29ffa392e839d05171206523e84909146f7a77c (diff) |
Add PSS parameter check.
Avoid seg fault by checking mgf1 parameter is not NULL. This can be
triggered during certificate verification so could be a DoS attack
against a client or a server enabling client authentication.
Thanks to Loïc Jonas Etienne (Qnective AG) for discovering this bug.
CVE-2015-3194
Reviewed-by: Matt Caswell <matt@openssl.org>
-rw-r--r-- | crypto/rsa/rsa_ameth.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/rsa/rsa_ameth.c b/crypto/rsa/rsa_ameth.c index 93e071de75..c7f1148a1d 100644 --- a/crypto/rsa/rsa_ameth.c +++ b/crypto/rsa/rsa_ameth.c @@ -279,7 +279,7 @@ static RSA_PSS_PARAMS *rsa_pss_decode(const X509_ALGOR *alg, if (pss->maskGenAlgorithm) { ASN1_TYPE *param = pss->maskGenAlgorithm->parameter; if (OBJ_obj2nid(pss->maskGenAlgorithm->algorithm) == NID_mgf1 - && param->type == V_ASN1_SEQUENCE) { + && param && param->type == V_ASN1_SEQUENCE) { p = param->value.sequence->data; plen = param->value.sequence->length; *pmaskHash = d2i_X509_ALGOR(NULL, &p, plen); |