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.
This commit is contained in:
Julien Lepiller 2017-08-03 20:14:56 +02:00
parent 8d6c845d68
commit 1cec346232
No known key found for this signature in database
GPG Key ID: 43111F4520086A0C
3 changed files with 45 additions and 3 deletions

View File

@ -625,6 +625,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcr-disable-failing-tests.patch \ %D%/packages/patches/gcr-disable-failing-tests.patch \
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.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/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-gd2-read-test.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \

View File

@ -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

View File

@ -49,10 +49,21 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)) #: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 (define-public php
(package (package
(name "php") (name "php")
(version "7.1.6") (version "7.1.8")
(home-page "https://secure.php.net/") (home-page "https://secure.php.net/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -60,7 +71,7 @@
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0nr49gqhk4pv8kcdc60cl1mgwlinawpraq9ba15whzmb472lsn01")) "1aramb6dm57pr2iz61id9vzfy7h5qkb6bf7dxhrwnjk0723qahw9"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(with-directory-excursion "ext" '(with-directory-excursion "ext"
@ -282,7 +293,7 @@
("curl" ,curl) ("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl) ("cyrus-sasl" ,cyrus-sasl)
("freetype" ,freetype) ("freetype" ,freetype)
("gd" ,gd) ("gd" ,gd-for-php)
("gdbm" ,gdbm) ("gdbm" ,gdbm)
("glibc" ,glibc) ("glibc" ,glibc)
("gmp" ,gmp) ("gmp" ,gmp)