Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@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 <ametz...@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 <n...@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 <n...@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