summary refs log tree commit diff
path: root/gnu/packages/patches/mupdf-CVE-2017-14686.patch
blob: e462a6ffebda10a3fc549337a609303da4742ddf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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