--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: jessie-pu: package gnutls28/3.3.8-6+deb8u1
- From: Andreas Metzler <ametzler@bebt.de>
- Date: Mon, 27 Apr 2015 20:09:49 +0200
- Message-id: <20150427180949.GA1663@downhill.g.la>
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu
Hello,
I would like to fix CVE-2015-3308 / #782776 in jessie by re-uploading
3.3.8-7 unchanged (except for version-number / distribution) to
jessie.
gnutls28 (3.3.8-6+deb8u1) jessie; urgency=medium
.
* Reupload 3.3.8-7 unchanged for first point release:
45_eliminated-double-free.diff 46_Better-fix-for-the-double-free.diff:
Pull two patches from upstream to a use-after-free flaw in
gnutls_x509_ext_import_crl_dist_points(). CVE-2015-3308
Closes: #782776
It is not severe enough for a DSA, Moritz asked me to try to fix it in
the point release.
thanks, cu Andreas
--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
[The following lists of changes regard files as different if they have
different names, permissions or owners.]
Files in second .changes but not in first
-----------------------------------------
-rw-r--r-- root/root /usr/lib/debug/.build-id/10/71641470893eedfb2ae95761f7a2831487578d.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/3c/00675566a5e060c9ab422431b1f6ace9e3d641.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/40/f65be6b49ba1dd1642c3a70301392728b0fa87.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/59/c0c76a47a76592ba690534af3dd8ed20716910.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/5c/15ca854181b7052a65e0e3c6bb62621e8a4796.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/86/5ba1447f92d3238aaeab5c35384f8d4ddc19f8.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/99/7b28d24819d51167eb04275b0e7781a0553677.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/ad/926b5ff6550801a0e64d7feb12bebb4f19f71b.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/b8/f5d939008965aa0fec40eb47dea7fbd36412e2.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/c4/edae6e65800cadeb0413c787c930f525569125.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/d5/6fdefdf070278c961828fef13aa01e98b0ff68.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/d8/2b478365792d82cde3c23dbba294f2f73aa6bd.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/fc/4f758dce13ac4fe7dadc3dc350d84cbe9bfad6.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/fe/3a9f524b65ebc37a28595af328de4bb9557359.debug
Files in first .changes but not in second
-----------------------------------------
-rw-r--r-- root/root /usr/lib/debug/.build-id/10/655707e8b248d97b072677ec28c377363aced4.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/13/5f3708de9f8bd9a5eaeea7b2a7902944a68d63.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/17/b7d1dfa67ec9ac3eb7569b29e52cbc47248688.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/1a/c8aaaf376060e80db75912974b2454473353a7.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/24/c0d3aa5787be23dbb556fd9eeda9aa1064ab08.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/30/4541b84d338019a289b01a0dd537bcde7906e8.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/57/ede90e9a245fcbf2a7d4bd269383d3d0783505.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/90/73d1fe7d52ce09cddc43f2ec434b31f81869ea.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/9f/818d387ca338b648a60f366308fcf64b28df00.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/a0/3622962422c45cdc0b9cf963d9d6693108d1b5.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/aa/a11c7e4144249c4a111bcd1ed1da1fc7dd4f37.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/b2/b41fd24df64b4ea7a1d88e14a37214fb80ef9d.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/c4/4292da922a90ca6a10a2a537a255ee3811d410.debug
-rw-r--r-- root/root /usr/lib/debug/.build-id/cb/c40b4e7f316d20607c6d320d6d6902115dd70b.debug
Control files of package gnutls-bin: lines which differ (wdiff format)
----------------------------------------------------------------------
Installed-Size: [-934-] {+891+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
Control files of package gnutls-doc: lines which differ (wdiff format)
----------------------------------------------------------------------
Installed-Size: [-8392-] {+8266+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
Control files of package guile-gnutls: lines which differ (wdiff format)
------------------------------------------------------------------------
Installed-Size: [-404-] {+357+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
Control files of package libgnutls-deb0-28: lines which differ (wdiff format)
-----------------------------------------------------------------------------
Installed-Size: [-2095-] {+1942+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
Control files of package libgnutls-openssl27: lines which differ (wdiff format)
-------------------------------------------------------------------------------
Depends: libgnutls-deb0-28 (= [-3.3.8-6),-] {+3.3.8-6+deb8u1),+} libc6 (>= 2.4)
Installed-Size: [-203-] {+172+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
Control files of package libgnutls28-dbg: lines which differ (wdiff format)
---------------------------------------------------------------------------
Depends: libgnutls-deb0-28 (= [-3.3.8-6)-] {+3.3.8-6+deb8u1)+}
Installed-Size: [-2366-] {+2275+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
Control files of package libgnutls28-dev: lines which differ (wdiff format)
---------------------------------------------------------------------------
Depends: libgnutls-deb0-28 (= [-3.3.8-6),-] {+3.3.8-6+deb8u1),+} libgnutlsxx28 (= [-3.3.8-6),-] {+3.3.8-6+deb8u1),+} nettle-dev (>= 2.5), libc6-dev | libc-dev, zlib1g-dev, libtasn1-6-dev (>= 3.9), libp11-kit-dev, libgnutls-openssl27 (= [-3.3.8-6)-] {+3.3.8-6+deb8u1)+}
Installed-Size: [-2490-] {+2447+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
Control files of package libgnutlsxx28: lines which differ (wdiff format)
-------------------------------------------------------------------------
Depends: libgnutls-deb0-28 (= [-3.3.8-6),-] {+3.3.8-6+deb8u1),+} libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1)
Installed-Size: [-87-] {+59+}
Version: [-3.3.8-6-] {+3.3.8-6+deb8u1+}
diff -Nru gnutls28-3.3.8/debian/changelog gnutls28-3.3.8/debian/changelog
--- gnutls28-3.3.8/debian/changelog 2015-02-28 14:24:37.000000000 +0100
+++ gnutls28-3.3.8/debian/changelog 2015-04-27 19:40:34.000000000 +0200
@@ -1,3 +1,13 @@
+gnutls28 (3.3.8-6+deb8u1) jessie; urgency=medium
+
+ * Reupload 3.3.8-7 unchanged for first point release:
+ 45_eliminated-double-free.diff 46_Better-fix-for-the-double-free.diff:
+ Pull two patches from upstream to a use-after-free flaw in
+ gnutls_x509_ext_import_crl_dist_points(). CVE-2015-3308
+ Closes: #782776
+
+ -- Andreas Metzler <ametzler@debian.org> Mon, 27 Apr 2015 19:38:26 +0200
+
gnutls28 (3.3.8-6) unstable; urgency=medium
* 39_check-whether-the-two-signatur.patch: Pull and unfuzz
diff -Nru gnutls28-3.3.8/debian/patches/45_eliminated-double-free.diff gnutls28-3.3.8/debian/patches/45_eliminated-double-free.diff
--- gnutls28-3.3.8/debian/patches/45_eliminated-double-free.diff 1970-01-01 01:00:00.000000000 +0100
+++ gnutls28-3.3.8/debian/patches/45_eliminated-double-free.diff 2015-04-27 19:34:44.000000000 +0200
@@ -0,0 +1,28 @@
+From d6972be33264ecc49a86cd0958209cd7363af1e9 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
+Date: Mon, 23 Mar 2015 22:55:29 +0100
+Subject: [PATCH] eliminated double-free in the parsing of dist points
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Reported by Robert Święcki.
+---
+ lib/x509/x509_ext.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/lib/x509/x509_ext.c b/lib/x509/x509_ext.c
+index c8d5867..6f09438 100644
+--- a/lib/x509/x509_ext.c
++++ b/lib/x509/x509_ext.c
+@@ -2360,7 +2360,6 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+
+ if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ gnutls_assert();
+- gnutls_free(san.data);
+ goto cleanup;
+ }
+
+--
+2.1.4
+
diff -Nru gnutls28-3.3.8/debian/patches/46_Better-fix-for-the-double-free.diff gnutls28-3.3.8/debian/patches/46_Better-fix-for-the-double-free.diff
--- gnutls28-3.3.8/debian/patches/46_Better-fix-for-the-double-free.diff 1970-01-01 01:00:00.000000000 +0100
+++ gnutls28-3.3.8/debian/patches/46_Better-fix-for-the-double-free.diff 2015-04-27 19:34:44.000000000 +0200
@@ -0,0 +1,61 @@
+From 053ae65403216acdb0a4e78b25ad66ee9f444f02 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
+Date: Sat, 28 Mar 2015 22:41:03 +0100
+Subject: [PATCH] Better fix for the double free in dist point parsing
+
+---
+ lib/x509/x509_ext.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/lib/x509/x509_ext.c b/lib/x509/x509_ext.c
+index 2e69ed0..f974b02 100644
+--- a/lib/x509/x509_ext.c
++++ b/lib/x509/x509_ext.c
+@@ -2287,7 +2287,7 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+ int len, ret;
+ uint8_t reasons[2];
+ unsigned i, type, rflags, j;
+- gnutls_datum_t san;
++ gnutls_datum_t san = {NULL, 0};
+
+ result = asn1_create_element
+ (_gnutls_get_pkix(), "PKIX1.CRLDistributionPoints", &c2);
+@@ -2310,9 +2310,6 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+
+ i = 0;
+ do {
+- san.data = NULL;
+- san.size = 0;
+-
+ snprintf(name, sizeof(name), "?%u.reasons", (unsigned)i + 1);
+
+ len = sizeof(reasons);
+@@ -2337,6 +2334,9 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+
+ j = 0;
+ do {
++ san.data = NULL;
++ san.size = 0;
++
+ ret =
+ _gnutls_parse_general_name2(c2, name, j, &san,
+ &type, 0);
+@@ -2351,6 +2351,7 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+ ret = crl_dist_points_set(cdp, type, &san, rflags);
+ if (ret < 0)
+ break;
++ san.data = NULL; /* it is now in cdp */
+
+ j++;
+ } while (ret >= 0);
+@@ -2360,6 +2361,7 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+
+ if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ gnutls_assert();
++ gnutls_free(san.data);
+ goto cleanup;
+ }
+
+--
+2.1.4
+
diff -Nru gnutls28-3.3.8/debian/patches/series gnutls28-3.3.8/debian/patches/series
--- gnutls28-3.3.8/debian/patches/series 2015-02-28 14:15:51.000000000 +0100
+++ gnutls28-3.3.8/debian/patches/series 2015-04-27 19:34:44.000000000 +0200
@@ -7,3 +7,5 @@
38_testforsanitycheck.diff
39_check-whether-the-two-signatur.patch
40_no_more_ssl3.diff
+45_eliminated-double-free.diff
+46_Better-fix-for-the-double-free.diff
--- End Message ---