summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/mupdf-CVE-2017-14686.patch
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-10-24 13:43:55 -0400
committerLeo Famulari <leo@famulari.name>2017-10-24 13:44:34 -0400
commitae7e24c4210e68b1761dc26bcba20786675ca37d (patch)
treed0bc963763022f3511360b9e6b99e9bf2e536e32 /gnu/packages/patches/mupdf-CVE-2017-14686.patch
parent6dcc8239be807d7e96b3425310e0f565ed5218b8 (diff)
downloadguix-patches-ae7e24c4210e68b1761dc26bcba20786675ca37d.tar
guix-patches-ae7e24c4210e68b1761dc26bcba20786675ca37d.tar.gz
gnu: mupdf: Fix CVE-2017-{14685,14686,14687}.
* gnu/packages/patches/mupdf-CVE-2017-14685.patch, gnu/packages/patches/mupdf-CVE-2017-14686.patch, gnu/packages/patches/mupdf-CVE-2017-14687.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/pdf.scm (mupdf)[source]: Use them.
Diffstat (limited to 'gnu/packages/patches/mupdf-CVE-2017-14686.patch')
-rw-r--r--gnu/packages/patches/mupdf-CVE-2017-14686.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/patches/mupdf-CVE-2017-14686.patch b/gnu/packages/patches/mupdf-CVE-2017-14686.patch
new file mode 100644
index 0000000000..e462a6ffeb
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2017-14686.patch
@@ -0,0 +1,34 @@
+Fix CVE-2017-14686:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14686
+
+Patch copied from upstream source repository:
+
+https://git.ghostscript.com/?p=mupdf.git;h=0f0fbc07d9be31f5e83ec5328d7311fdfd8328b1
+
+From 0f0fbc07d9be31f5e83ec5328d7311fdfd8328b1 Mon Sep 17 00:00:00 2001
+From: Tor Andersson <tor.andersson@artifex.com>
+Date: Tue, 19 Sep 2017 16:33:38 +0200
+Subject: [PATCH] Fix 698540: Check name, comment and meta size field signs.
+
+---
+ source/fitz/unzip.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/source/fitz/unzip.c b/source/fitz/unzip.c
+index f2d4f32..0bcce0f 100644
+--- a/source/fitz/unzip.c
++++ b/source/fitz/unzip.c
+@@ -141,6 +141,9 @@ static void read_zip_dir_imp(fz_context *ctx, fz_zip_archive *zip, int start_off
+ (void) fz_read_int32_le(ctx, file); /* ext file atts */
+ offset = fz_read_int32_le(ctx, file);
+
++ if (namesize < 0 || metasize < 0 || commentsize < 0)
++ fz_throw(ctx, FZ_ERROR_GENERIC, "invalid size in zip entry");
++
+ name = fz_malloc(ctx, namesize + 1);
+ n = fz_read(ctx, file, (unsigned char*)name, namesize);
+ if (n < (size_t)namesize)
+--
+2.9.1
+