summary refs log tree commit diff
path: root/gnu/packages/patches/jasper-CVE-2014-8138.patch
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2016-01-30 16:11:04 -0500
committerLeo Famulari <leo@famulari.name>2016-02-04 15:09:41 -0500
commit90bcecc56886ed8b3b55db01c1f0b015fc2fc9a1 (patch)
tree68ed124e373781025c7cea2fd762ac3dc67f8cdc /gnu/packages/patches/jasper-CVE-2014-8138.patch
parente20f051ec45719631bdc5ea4fad9ab1787bb0c18 (diff)
downloadguix-90bcecc56886ed8b3b55db01c1f0b015fc2fc9a1.tar.gz
gnu: jasper: Add fixes for several security flaws.
* gnu/packages/patches/jasper-CVE-2007-2721.patch,
gnu/packages/patches/jasper-CVE-2008-3520.patch,
gnu/packages/patches/jasper-CVE-2011-4516-and-CVE-2011-4517.patch,
gnu/packages/patches/jasper-CVE-2014-8137.patch,
gnu/packages/patches/jasper-CVE-2014-8138.patch,
gnu/packages/patches/jasper-CVE-2014-8157.patch,
gnu/packages/patches/jasper-CVE-2014-8158.patch,
gnu/packages/patches/jasper-CVE-2014-9029.patch,
gnu/packages/patches/jasper-CVE-2016-1867.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/image.scm (jasper)[source]: Add patches.
Diffstat (limited to 'gnu/packages/patches/jasper-CVE-2014-8138.patch')
-rw-r--r--gnu/packages/patches/jasper-CVE-2014-8138.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/gnu/packages/patches/jasper-CVE-2014-8138.patch b/gnu/packages/patches/jasper-CVE-2014-8138.patch
new file mode 100644
index 0000000000..0d9dc632ed
--- /dev/null
+++ b/gnu/packages/patches/jasper-CVE-2014-8138.patch
@@ -0,0 +1,21 @@
+Fix CVE-2014-8138 (heap overflow in jp2_decode()).
+
+Copied from Fedora.
+
+http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/tree/jasper-CVE-2014-8138.patch
+https://bugzilla.redhat.com/show_bug.cgi?id=1173162
+
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:06:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:06:26.000000000 +0100
+@@ -386,6 +386,11 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ 	/* Determine the type of each component. */
+ 	if (dec->cdef) {
+ 		for (i = 0; i < dec->numchans; ++i) {
++			/* Is the channel number reasonable? */
++			if (dec->cdef->data.cdef.ents[i].channo >= dec->numchans) {
++				jas_eprintf("error: invalid channel number in CDEF box\n");
++				goto error;
++			}
+ 			jas_image_setcmpttype(dec->image,
+ 			  dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
+ 			  jp2_getct(jas_image_clrspc(dec->image),