aboutsummaryrefslogtreecommitdiffstats
path: root/testing/mupdf
diff options
context:
space:
mode:
authorDaniel Sabogal <dsabogalcc@gmail.com>2016-09-06 11:38:47 -0400
committerNatanael Copa <ncopa@alpinelinux.org>2016-09-08 19:08:39 +0000
commitad14b14402712f7284e4f45b09069d9925745344 (patch)
tree64c5daef0c0a38b588806eae3114d9f7570d9fd3 /testing/mupdf
parent46e1c19e777afd07f17f4b0008e7a7e3b6cb8c6e (diff)
downloadaports-ad14b14402712f7284e4f45b09069d9925745344.tar.bz2
aports-ad14b14402712f7284e4f45b09069d9925745344.tar.xz
testing/mupdf: fix for CVE-2016-6265 and CVE-2016-6525
Diffstat (limited to 'testing/mupdf')
-rw-r--r--testing/mupdf/APKBUILD16
-rw-r--r--testing/mupdf/CVE-2016-6265.patch33
-rw-r--r--testing/mupdf/CVE-2016-6525.patch23
3 files changed, 68 insertions, 4 deletions
diff --git a/testing/mupdf/APKBUILD b/testing/mupdf/APKBUILD
index 7b554aa4b6..0dcb5dc4b8 100644
--- a/testing/mupdf/APKBUILD
+++ b/testing/mupdf/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Michael Zhou <zhoumichaely@gmail.com>
pkgname=mupdf
pkgver=1.9a
-pkgrel=3
+pkgrel=4
pkgdesc="A lightweight PDF and XPS viewer"
url="http://mupdf.com"
arch="all"
@@ -15,6 +15,8 @@ subpackages="$pkgname-doc $pkgname-dev $pkgname-x11:_x11
source="http://mupdf.com/downloads/archive/$pkgname-$pkgver-source.tar.gz
shared-lib.patch
openjpeg-2.1.1.patch
+ CVE-2016-6265.patch
+ CVE-2016-6525.patch
"
builddir="$srcdir/$pkgname-$pkgver-source"
@@ -73,10 +75,16 @@ _tools() {
md5sums="658b90788a57d858dcb069cf326e11c3 mupdf-1.9a-source.tar.gz
8c4c5ec03c3df7e87a672c79302f6df5 shared-lib.patch
-ba8b6171c4ae38662632259e1c496da1 openjpeg-2.1.1.patch"
+ba8b6171c4ae38662632259e1c496da1 openjpeg-2.1.1.patch
+57b78ee32e4b341d93b29778c55f4ab6 CVE-2016-6265.patch
+52db3b30aa98a5d15599a87038992e80 CVE-2016-6525.patch"
sha256sums="8015c55f4e6dd892d3c50db4f395c1e46660a10b460e2ecd180a497f55bbc4cc mupdf-1.9a-source.tar.gz
3ff3c9413c4c1005db7e41a085ce8e72ee1e956e8d1538a615f51f86f8bb1d14 shared-lib.patch
-46f91311ce2f2972986d6d2f4a57fec5e1a556de494e52226206781942522894 openjpeg-2.1.1.patch"
+46f91311ce2f2972986d6d2f4a57fec5e1a556de494e52226206781942522894 openjpeg-2.1.1.patch
+287b9e4764d680a66b04040c24e3f982f5aa5fce263749794df0fa57ef4f18a8 CVE-2016-6265.patch
+83ab00f0d6bd5e07c286a97a815fa38e9d98df7b5d9925e6cf6fc12e20f5c31c CVE-2016-6525.patch"
sha512sums="9f804fd65c2dc6b7a3bd73961b1f1a8bf93d52903cccf6302acd6982dfa433125a3b8e77b808984921aee097877280fa21aafb87468cd0a8e4cfa900284a262b mupdf-1.9a-source.tar.gz
bc38cc6935ed1c5941773e0671bea25d33897c1018c30f11ff3a1ec1e583276597f521b9e526f9bd38a6f9a1e76aa3e52782995ded72a618d07811abcd7ca734 shared-lib.patch
-6eb33da5f05c5e5d8fa2af7223261153769b454d535128056015819c164ff59d068354680ebc135c2221f2ae7a3b6ec99833247bfefa83e9a4bab09f243452f1 openjpeg-2.1.1.patch"
+6eb33da5f05c5e5d8fa2af7223261153769b454d535128056015819c164ff59d068354680ebc135c2221f2ae7a3b6ec99833247bfefa83e9a4bab09f243452f1 openjpeg-2.1.1.patch
+a69d1db475c25f3a298c3cf3ab4858ca9298087bc9839caacc65e3bc7695c0e3dd600e3c7f5c6cd042ceb536a2cf90404c4f13a90ad0e266791cbcf329873992 CVE-2016-6265.patch
+2d8300f93bfe4cf11d817b38e3879ca7eaa704e58274930ee1368f5f1e13cc9baac786421feec0d5a720dd0cbe6cd8b0d94f4a91f2dd762e6e3923fea9deb4bf CVE-2016-6525.patch"
diff --git a/testing/mupdf/CVE-2016-6265.patch b/testing/mupdf/CVE-2016-6265.patch
new file mode 100644
index 0000000000..5053aa3ef1
--- /dev/null
+++ b/testing/mupdf/CVE-2016-6265.patch
@@ -0,0 +1,33 @@
+From: Robin Watts <robin.watts@artifex.com>
+Date: Thu, 21 Jul 2016 14:39:11 +0000 (+0100)
+Subject: Bug 696941: Fix use after free.
+X-Git-Url: http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=fa1936405b6a84e5c9bb440912c23d532772f958;hp=e98091d56afdf1cf6c9a017fa0bd35dd0b8968f0
+
+Bug 696941: Fix use after free.
+
+The file is HORRIBLY corrupt, and triggers Sophos to think it's
+PDF malware (which it isn't). It does however trigger a use
+after free, worked around here.
+---
+
+diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
+index 576c315..3222599 100644
+--- a/source/pdf/pdf-xref.c
++++ b/source/pdf/pdf-xref.c
+@@ -1184,8 +1184,14 @@ pdf_load_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf)
+ fz_throw(ctx, FZ_ERROR_GENERIC, "object offset out of range: %d (%d 0 R)", (int)entry->ofs, i);
+ }
+ if (entry->type == 'o')
+- if (entry->ofs <= 0 || entry->ofs >= xref_len || pdf_get_xref_entry(ctx, doc, entry->ofs)->type != 'n')
+- fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)entry->ofs, i);
++ {
++ /* Read this into a local variable here, because pdf_get_xref_entry
++ * may solidify the xref, hence invalidating "entry", meaning we
++ * need a stashed value for the throw. */
++ fz_off_t ofs = entry->ofs;
++ if (ofs <= 0 || ofs >= xref_len || pdf_get_xref_entry(ctx, doc, ofs)->type != 'n')
++ fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)ofs, i);
++ }
+ }
+ }
+
diff --git a/testing/mupdf/CVE-2016-6525.patch b/testing/mupdf/CVE-2016-6525.patch
new file mode 100644
index 0000000000..003d86bfc4
--- /dev/null
+++ b/testing/mupdf/CVE-2016-6525.patch
@@ -0,0 +1,23 @@
+From: Sebastian Rasmussen <sebras@gmail.com>
+Date: Wed, 27 Jul 2016 14:19:39 +0000 (+0800)
+Subject: Make sure that number of colors in mesh params is valid.
+X-Git-Url: http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e;hp=fa1936405b6a84e5c9bb440912c23d532772f958
+
+Make sure that number of colors in mesh params is valid.
+
+Fixes bug 696954.
+---
+
+diff --git a/source/pdf/pdf-shade.c b/source/pdf/pdf-shade.c
+index 7815b3c..6e25efa 100644
+--- a/source/pdf/pdf-shade.c
++++ b/source/pdf/pdf-shade.c
+@@ -206,7 +206,7 @@ pdf_load_mesh_params(fz_context *ctx, pdf_document *doc, fz_shade *shade, pdf_ob
+ obj = pdf_dict_get(ctx, dict, PDF_NAME_Decode);
+ if (pdf_array_len(ctx, obj) >= 6)
+ {
+- n = (pdf_array_len(ctx, obj) - 4) / 2;
++ n = fz_mini(FZ_MAX_COLORS, (pdf_array_len(ctx, obj) - 4) / 2);
+ shade->u.m.x0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 0));
+ shade->u.m.x1 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 1));
+ shade->u.m.y0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 2));