[Pkg-openssl-changes] r756 - in openssl/branches/jessie/debian: . patches
Kurt Roeckx
kroeckx at moszumanska.debian.org
Thu Dec 3 17:40:51 UTC 2015
Author: kroeckx
Date: 2015-12-03 17:40:51 +0000 (Thu, 03 Dec 2015)
New Revision: 756
Added:
openssl/branches/jessie/debian/patches/CVE-2015-3194.patch
openssl/branches/jessie/debian/patches/CVE-2015-3195.patch
openssl/branches/jessie/debian/patches/CVE-2015-3196.patch
Modified:
openssl/branches/jessie/debian/changelog
openssl/branches/jessie/debian/patches/series
Log:
Fix security issues.
Modified: openssl/branches/jessie/debian/changelog
===================================================================
--- openssl/branches/jessie/debian/changelog 2015-12-03 17:29:08 UTC (rev 755)
+++ openssl/branches/jessie/debian/changelog 2015-12-03 17:40:51 UTC (rev 756)
@@ -1,3 +1,11 @@
+openssl (1.0.1k-3+deb8u2) jessie-security; urgency=medium
+
+ * Fix CVE-2015-3194
+ * Fix CVE-2015-3195
+ * Fix CVE-2015-3196
+
+ -- Kurt Roeckx <kurt at roeckx.be> Thu, 03 Dec 2015 18:39:46 +0100
+
openssl (1.0.1k-3+deb8u1) jessie-security; urgency=medium
* Fix CVE-2015-1791
Added: openssl/branches/jessie/debian/patches/CVE-2015-3194.patch
===================================================================
--- openssl/branches/jessie/debian/patches/CVE-2015-3194.patch (rev 0)
+++ openssl/branches/jessie/debian/patches/CVE-2015-3194.patch 2015-12-03 17:40:51 UTC (rev 756)
@@ -0,0 +1,34 @@
+From f81aa391f469c695e56f080dcde70e4bba3fd7be Mon Sep 17 00:00:00 2001
+From: "Dr. Stephen Henson" <steve at openssl.org>
+Date: Fri, 2 Oct 2015 13:10:29 +0100
+Subject: [PATCH 2/2] Add PSS parameter check.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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 at openssl.org>
+---
+ crypto/rsa/rsa_ameth.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: openssl-1.0.1k/crypto/rsa/rsa_ameth.c
+===================================================================
+--- openssl-1.0.1k.orig/crypto/rsa/rsa_ameth.c
++++ openssl-1.0.1k/crypto/rsa/rsa_ameth.c
+@@ -287,7 +287,7 @@ static RSA_PSS_PARAMS *rsa_pss_decode(co
+ {
+ 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;
Added: openssl/branches/jessie/debian/patches/CVE-2015-3195.patch
===================================================================
--- openssl/branches/jessie/debian/patches/CVE-2015-3195.patch (rev 0)
+++ openssl/branches/jessie/debian/patches/CVE-2015-3195.patch 2015-12-03 17:40:51 UTC (rev 756)
@@ -0,0 +1,55 @@
+From 7c13530c14867bc09d478b30148884aa16891e15 Mon Sep 17 00:00:00 2001
+From: "Dr. Stephen Henson" <steve at openssl.org>
+Date: Tue, 10 Nov 2015 19:03:07 +0000
+Subject: [PATCH 1/2] Fix leak with ASN.1 combine.
+
+When parsing a combined structure pass a flag to the decode routine
+so on error a pointer to the parent structure is not zeroed as
+this will leak any additional components in the parent.
+
+This can leak memory in any application parsing PKCS#7 or CMS structures.
+
+CVE-2015-3195.
+
+Thanks to Adam Langley (Google/BoringSSL) for discovering this bug using
+libFuzzer.
+
+PR#4131
+
+Reviewed-by: Richard Levitte <levitte at openssl.org>
+---
+ crypto/asn1/tasn_dec.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+Index: openssl-1.0.1k/crypto/asn1/tasn_dec.c
+===================================================================
+--- openssl-1.0.1k.orig/crypto/asn1/tasn_dec.c
++++ openssl-1.0.1k/crypto/asn1/tasn_dec.c
+@@ -169,6 +169,8 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval,
+ int otag;
+ int ret = 0;
+ ASN1_VALUE **pchptr, *ptmpval;
++ int combine = aclass & ASN1_TFLG_COMBINE;
++ aclass &= ~ASN1_TFLG_COMBINE;
+ if (!pval)
+ return 0;
+ if (aux && aux->asn1_cb)
+@@ -534,7 +536,8 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval,
+ auxerr:
+ ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, ASN1_R_AUX_ERROR);
+ err:
+- ASN1_item_ex_free(pval, it);
++ if (combine == 0)
++ ASN1_item_ex_free(pval, it);
+ if (errtt)
+ ERR_add_error_data(4, "Field=", errtt->field_name,
+ ", Type=", it->sname);
+@@ -762,7 +765,7 @@ static int asn1_template_noexp_d2i(ASN1_
+ {
+ /* Nothing special */
+ ret = ASN1_item_ex_d2i(val, &p, len, ASN1_ITEM_ptr(tt->item),
+- -1, 0, opt, ctx);
++ -1, tt->flags & ASN1_TFLG_COMBINE, opt, ctx);
+ if (!ret)
+ {
+ ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I,
Added: openssl/branches/jessie/debian/patches/CVE-2015-3196.patch
===================================================================
--- openssl/branches/jessie/debian/patches/CVE-2015-3196.patch (rev 0)
+++ openssl/branches/jessie/debian/patches/CVE-2015-3196.patch 2015-12-03 17:40:51 UTC (rev 756)
@@ -0,0 +1,72 @@
+From d6be3124f22870f1888c532523b74ea5d89795eb Mon Sep 17 00:00:00 2001
+From: "Dr. Stephen Henson" <steve at openssl.org>
+Date: Wed, 1 Jul 2015 23:40:03 +0100
+Subject: [PATCH] Fix PSK handling.
+
+The PSK identity hint should be stored in the SSL_SESSION structure
+and not in the parent context (which will overwrite values used
+by other SSL structures with the same SSL_CTX).
+
+Use BUF_strndup when copying identity as it may not be null terminated.
+
+Reviewed-by: Tim Hudson <tjh at openssl.org>
+(cherry picked from commit 3c66a669dfc7b3792f7af0758ea26fe8502ce70c)
+---
+ ssl/s3_clnt.c | 17 +++--------------
+ ssl/s3_srvr.c | 2 +-
+ 2 files changed, 4 insertions(+), 15 deletions(-)
+
+Index: openssl-1.0.1k/ssl/s3_clnt.c
+===================================================================
+--- openssl-1.0.1k.orig/ssl/s3_clnt.c
++++ openssl-1.0.1k/ssl/s3_clnt.c
+@@ -1360,8 +1360,6 @@ int ssl3_get_key_exchange(SSL *s)
+ #ifndef OPENSSL_NO_PSK
+ if (alg_k & SSL_kPSK)
+ {
+- char tmp_id_hint[PSK_MAX_IDENTITY_LEN+1];
+-
+ param_len = 2;
+ if (param_len > n)
+ {
+@@ -1390,16 +1388,8 @@ int ssl3_get_key_exchange(SSL *s)
+ }
+ param_len += i;
+
+- /* If received PSK identity hint contains NULL
+- * characters, the hint is truncated from the first
+- * NULL. p may not be ending with NULL, so create a
+- * NULL-terminated string. */
+- memcpy(tmp_id_hint, p, i);
+- memset(tmp_id_hint+i, 0, PSK_MAX_IDENTITY_LEN+1-i);
+- if (s->ctx->psk_identity_hint != NULL)
+- OPENSSL_free(s->ctx->psk_identity_hint);
+- s->ctx->psk_identity_hint = BUF_strdup(tmp_id_hint);
+- if (s->ctx->psk_identity_hint == NULL)
++ s->session->psk_identity_hint = BUF_strndup((char *)p, i);
++ if (s->session->psk_identity_hint == NULL)
+ {
+ al=SSL_AD_HANDSHAKE_FAILURE;
+ SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE, ERR_R_MALLOC_FAILURE);
+@@ -3002,7 +2992,7 @@ int ssl3_send_client_key_exchange(SSL *s
+ }
+
+ memset(identity, 0, sizeof(identity));
+- psk_len = s->psk_client_callback(s, s->ctx->psk_identity_hint,
++ psk_len = s->psk_client_callback(s, s->session->psk_identity_hint,
+ identity, sizeof(identity) - 1,
+ psk_or_pre_ms, sizeof(psk_or_pre_ms));
+ if (psk_len > PSK_MAX_PSK_LEN)
+Index: openssl-1.0.1k/ssl/s3_srvr.c
+===================================================================
+--- openssl-1.0.1k.orig/ssl/s3_srvr.c
++++ openssl-1.0.1k/ssl/s3_srvr.c
+@@ -2816,7 +2816,7 @@ int ssl3_get_client_key_exchange(SSL *s)
+
+ if (s->session->psk_identity != NULL)
+ OPENSSL_free(s->session->psk_identity);
+- s->session->psk_identity = BUF_strdup((char *)p);
++ s->session->psk_identity = BUF_strndup((char *)p, i);
+ if (s->session->psk_identity == NULL)
+ {
+ SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
Modified: openssl/branches/jessie/debian/patches/series
===================================================================
--- openssl/branches/jessie/debian/patches/series 2015-12-03 17:29:08 UTC (rev 755)
+++ openssl/branches/jessie/debian/patches/series 2015-12-03 17:40:51 UTC (rev 756)
@@ -35,3 +35,6 @@
CVE-2015-1790.patch
CVE-2015-1788.patch
CVE-2015-4000.patch
+CVE-2015-3194.patch
+CVE-2015-3195.patch
+CVE-2015-3196.patch
More information about the Pkg-openssl-changes
mailing list