about summary refs log tree commit diff
path: root/pkgs/development/libraries/jasper
diff options
context:
space:
mode:
authorJames Cook <falsifian@google.com>2014-12-21 14:38:00 -0800
committerJames Cook <james.cook@utoronto.ca>2014-12-21 14:38:00 -0800
commit1b5c9c24dea9d5241f4a46a471d77d185b31b524 (patch)
treec7d2ab5f0815e602ee09a18eb73599b6270c335e /pkgs/development/libraries/jasper
parent951ac10ae15bf53ea919802a8c3570518f34d86b (diff)
jasper: Patch for CVE-2014-8138 via RedHat.
Diffstat (limited to 'pkgs/development/libraries/jasper')
-rw-r--r--pkgs/development/libraries/jasper/default.nix1
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff16
2 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 38c53edb439b5..94e6cba4ee4c5 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./jasper-CVE-2014-8137-variant2.diff ./jasper-CVE-2014-8137-noabort.diff
+    ./jasper-CVE-2014-8138.diff
     ./jasper-CVE-2014-9029.diff
   ];
 
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff
new file mode 100644
index 0000000000000..cbf0899d807ae
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff
@@ -0,0 +1,16 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=967280&action=diff
+
+--- 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),