~ruther/guix-local

1cec3462323717e063c98b6404e9c5c5ef037bdd — Julien Lepiller 8 years ago 8d6c845
gnu: php: Update to 7.1.8.

* gnu/packages/patches/gd-CVE-2017-7890.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it
* gnu/packages/php.scm (php): Update to 7.1.8.
3 files changed, 45 insertions(+), 3 deletions(-)

M gnu/local.mk
A gnu/packages/patches/gd-CVE-2017-7890.patch
M gnu/packages/php.scm
M gnu/local.mk => gnu/local.mk +1 -0
@@ 625,6 625,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/gcr-disable-failing-tests.patch		\
  %D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch	\
  %D%/packages/patches/gdk-pixbuf-list-dir.patch		\
  %D%/packages/patches/gd-CVE-2017-7890.patch		\
  %D%/packages/patches/gd-fix-gd2-read-test.patch		\
  %D%/packages/patches/gd-fix-tests-on-i686.patch		\
  %D%/packages/patches/gd-freetype-test-failure.patch		\

A gnu/packages/patches/gd-CVE-2017-7890.patch => gnu/packages/patches/gd-CVE-2017-7890.patch +30 -0
@@ 0,0 1,30 @@
From 99ba5c353373ed198f54af66fe4e355ebb96e363 Mon Sep 17 00:00:00 2001
From: LEPILLER Julien <julien@lepiller.eu>
Date: Thu, 3 Aug 2017 17:04:17 +0200
Subject: [PATCH] Fix #399: Buffer over-read into uninitialized memory.

The stack allocated color map buffers were not zeroed before usage, and
so undefined palette indexes could cause information leakage.

This is CVE-2017-7890.
---
 src/gd_gif_in.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c
index 008d1ec..c195448 100644
--- a/src/gd_gif_in.c
+++ b/src/gd_gif_in.c
@@ -216,6 +216,9 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
 
 	gdImagePtr im = 0;
 
+	memset(ColorMap, 0, 3 * MAXCOLORMAPSIZE);
+	memset(localColorMap, 0, 3 * MAXCOLORMAPSIZE);
+
 	if(!ReadOK(fd, buf, 6)) {
 		return 0;
 	}
-- 
2.13.3


M gnu/packages/php.scm => gnu/packages/php.scm +14 -3
@@ 49,10 49,21 @@
  #:use-module (guix build-system gnu)
  #:use-module ((guix licenses) #:prefix license:))

(define gd-for-php
  (package
    (inherit gd)
    (source (origin
             (inherit (package-source gd))
             (patches 
               (append
                 (origin-patches (package-source gd))
                 (search-patches "gd-CVE-2017-7890.patch")))))))


(define-public php
  (package
    (name "php")
    (version "7.1.6")
    (version "7.1.8")
    (home-page "https://secure.php.net/")
    (source (origin
              (method url-fetch)


@@ 60,7 71,7 @@
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
                "0nr49gqhk4pv8kcdc60cl1mgwlinawpraq9ba15whzmb472lsn01"))
                "1aramb6dm57pr2iz61id9vzfy7h5qkb6bf7dxhrwnjk0723qahw9"))
              (modules '((guix build utils)))
              (snippet
               '(with-directory-excursion "ext"


@@ 282,7 293,7 @@
       ("curl" ,curl)
       ("cyrus-sasl" ,cyrus-sasl)
       ("freetype" ,freetype)
       ("gd" ,gd)
       ("gd" ,gd-for-php)
       ("gdbm" ,gdbm)
       ("glibc" ,glibc)
       ("gmp" ,gmp)