Skip to contentSkip to conversation

jasper: security bump to version 1.900.22

PATCH New Baruch Siach 2 participants 2 messages Nov 10, 2016 – Nov 11, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 jasper: security bump to version 1.900.22

Fixes:
CVE-2016-8693: Double free vulnerability in mem_close
CVE-2016-8692: Divide by zero in jpc_dec_process_siz
CVE-2016-8691: Divide by zero in jpc_dec_process_siz
CVE-2016-8690: Null pointer dereference in bmp_getdata triggered by crafted BMP image
CVE-2016-2089: matrix rows_ NULL pointer dereference in jas_matrix_clip()
CVE-2016-8886: memory allocation failure in jas_malloc
CVE-2016-8887: Null pointer dereference in jp2_colr_destroy CVE-2016-8884, CVE-2016-8885: Null pointer dereference in bmp_getdata (incomplete fix for CVE-2016-8690)
CVE-2016-8880: Heap buffer overflow in jpc_dec_cp_setfromcox()
CVE-2016-8881: Heap buffer overflow in jpc_getuint16()
CVE-2016-8882: Null pointer access in jpc_pi_destroy
CVE-2016-8883: Assert in jpc_dec_tiledecode()

Drop upstream patches.

Change SITE to the official download location, since the current one does not have the updated version. Unfortunately, the official site only offers tar.gz.

Fix license. It is "based on the MIT license", but not exactly the same
(http://www.ece.uvic.ca/~frodo/jasper/; under "Legal Issues").

Drop autoreconf; the autotools version has been updated since commit 324ccec90d (jasper: autoreconf to fix rpath issue) that introduced it.

Cc Maxime Hadjinlian <[email protected]>
---
 package/jasper/0001-fix-CVE-2014-9029.patch   |  36 ---
 package/jasper/0002-fix-CVE-2014-8138.patch   |  18 --
 package/jasper/0003-fix-CVE-2014-8137-1.patch |  47 ----
 package/jasper/0004-fix-CVE-2014-8137-2.patch |  18 --
 package/jasper/0005-fix-CVE-2014-8157.patch   |  17 --
 package/jasper/0006-fix-CVE-2014-8158.patch   | 334 --------------------------
 package/jasper/0007-preserve-cflags.patch     |  27 ---
 package/jasper/0008-fix-CVE-2016-2116.patch   |  18 --
 package/jasper/0009-fix-CVE-2016-1577.patch   |  18 --
 package/jasper/0010-fix-CVE-2016-1867.patch   |  16 --
 package/jasper/0011-fix-CVE-2015-5221.patch   |  23 --
 package/jasper/0012-fix-CVE-2015-5203.patch   | 187 --------------
 package/jasper/jasper.hash                    |   2 +-
 package/jasper/jasper.mk                      |   9 +-
 14 files changed, 4 insertions(+), 766 deletions(-)
 delete mode 100644 package/jasper/0001-fix-CVE-2014-9029.patch
 delete mode 100644 package/jasper/0002-fix-CVE-2014-8138.patch
 delete mode 100644 package/jasper/0003-fix-CVE-2014-8137-1.patch
 delete mode 100644 package/jasper/0004-fix-CVE-2014-8137-2.patch
 delete mode 100644 package/jasper/0005-fix-CVE-2014-8157.patch
 delete mode 100644 package/jasper/0006-fix-CVE-2014-8158.patch
 delete mode 100644 package/jasper/0007-preserve-cflags.patch
 delete mode 100644 package/jasper/0008-fix-CVE-2016-2116.patch
 delete mode 100644 package/jasper/0009-fix-CVE-2016-1577.patch
 delete mode 100644 package/jasper/0010-fix-CVE-2016-1867.patch
 delete mode 100644 package/jasper/0011-fix-CVE-2015-5221.patch
 delete mode 100644 package/jasper/0012-fix-CVE-2015-5203.patch
package/jasper/0001-fix-CVE-2014-9029.patch deleted +0 -36
deleted file mode 100644
index c2e95a8d1446..000000000000
@@ -1,36 +0,0 @@
-Fix CVE-2014-9029
-
-Patch taken from https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2014-9029
-
-Signed-off-by: Baruch Siach <[email protected]>
----
-
---- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c	2014-11-27 12:45:44.000000000 +0100
-+++ jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c	2014-11-27 12:44:58.000000000 +0100
-@@ -1281,7 +1281,7 @@ static int jpc_dec_process_coc(jpc_dec_t
- 	jpc_coc_t *coc = &ms->parms.coc;
- 	jpc_dec_tile_t *tile;
- 
--	if (JAS_CAST(int, coc->compno) > dec->numcomps) {
-+	if (JAS_CAST(int, coc->compno) >= dec->numcomps) {
- 		jas_eprintf("invalid component number in COC marker segment\n");
- 		return -1;
- 	}
-@@ -1307,7 +1307,7 @@ static int jpc_dec_process_rgn(jpc_dec_t
- 	jpc_rgn_t *rgn = &ms->parms.rgn;
- 	jpc_dec_tile_t *tile;
- 
--	if (JAS_CAST(int, rgn->compno) > dec->numcomps) {
-+	if (JAS_CAST(int, rgn->compno) >= dec->numcomps) {
- 		jas_eprintf("invalid component number in RGN marker segment\n");
- 		return -1;
- 	}
-@@ -1356,7 +1356,7 @@ static int jpc_dec_process_qcc(jpc_dec_t
- 	jpc_qcc_t *qcc = &ms->parms.qcc;
- 	jpc_dec_tile_t *tile;
- 
--	if (JAS_CAST(int, qcc->compno) > dec->numcomps) {
-+	if (JAS_CAST(int, qcc->compno) >= dec->numcomps) {
- 		jas_eprintf("invalid component number in QCC marker segment\n");
- 		return -1;
- 	}
package/jasper/0002-fix-CVE-2014-8138.patch deleted +0 -18
deleted file mode 100644
index e107123ce884..000000000000
@@ -1,18 +0,0 @@
-See https://bugzilla.redhat.com/show_bug.cgi?id=1173162
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
---- 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),
package/jasper/0003-fix-CVE-2014-8137-1.patch deleted +0 -47

47 lines not on this page · raw message

package/jasper/0004-fix-CVE-2014-8137-2.patch deleted +0 -18
deleted file mode 100644
index e052709d5515..000000000000
@@ -1,18 +0,0 @@
-See https://bugzilla.redhat.com/show_bug.cgi?id=1173157
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
---- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:30:54.193209780 +0100
-+++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:36:46.313217814 +0100
-@@ -291,7 +291,10 @@ jas_image_t *jp2_decode(jas_stream_t *in
- 	case JP2_COLR_ICC:
- 		iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
- 		  dec->colr->data.colr.iccplen);
--		assert(iccprof);
-+		if (!iccprof) {
-+			jas_eprintf("error: failed to parse ICC profile\n");
-+			goto error;
-+		}
- 		jas_iccprof_gethdr(iccprof, &icchdr);
- 		jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
- 		jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));
package/jasper/0005-fix-CVE-2014-8157.patch deleted +0 -17
deleted file mode 100644
index ab81674f9318..000000000000
@@ -1,17 +0,0 @@
-Fix CVE-2014-8157 - dec->numtiles off-by-one check in jpc_dec_process_sot()
-From https://bugzilla.redhat.com/show_bug.cgi?id=1179282
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
-diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
---- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157	2015-01-19 16:59:36.000000000 +0100
-+++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c	2015-01-19 17:07:41.609863268 +0100
-@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t
- 		dec->curtileendoff = 0;
- 	}
- 
--	if (JAS_CAST(int, sot->tileno) > dec->numtiles) {
-+	if (JAS_CAST(int, sot->tileno) >= dec->numtiles) {
- 		jas_eprintf("invalid tile number in SOT marker segment\n");
- 		return -1;
- 	}
package/jasper/0006-fix-CVE-2014-8158.patch deleted +0 -334

334 lines not on this page · raw message

package/jasper/0007-preserve-cflags.patch deleted +0 -27
deleted file mode 100644
index 7e4c4a26f0d3..000000000000
@@ -1,27 +0,0 @@
-From: Max Filippov <[email protected]>
-Subject: Don't overwrite CFLAGS when configured with --enable-debug
-
-This drops architecture-specific ABI flags, which may be important.
-
-Signded-off-by: Max Filippov <[email protected]>
-
---- jasper-1.900.1/configure.ac.orig	2015-05-18 22:27:53.057512760 +0300
-+++ jasper-1.900.1/configure.ac	2015-05-18 22:28:36.090415422 +0300
-@@ -327,7 +327,7 @@
- 	AC_DEFINE(DEBUG)
- 	AC_DEFINE(DEBUG_OVERFLOW)
- 	if test "$GCC" = yes; then
--		CFLAGS="-g -O0"
-+		CFLAGS="$CFLAGS -g -O0"
- 	fi
- 	;;
- no)
-@@ -357,7 +357,7 @@
- case "${enableval}" in
- yes)
- 	if test "$GCC" = yes; then
--		CFLAGS="-g -O0"
-+		CFLAGS="$CFLAGS -g -O0"
- 	fi
- 	;;
- no)
package/jasper/0008-fix-CVE-2016-2116.patch deleted +0 -18
deleted file mode 100644
index 1ceb3952c736..000000000000
@@ -1,18 +0,0 @@
-Description: Prevent jas_stream_t memory leak in jas_iccprof_createfrombuf()
-Author: Tyler Hicks <tyhicks () canonical com>
-
-From: http://seclists.org/oss-sec/2016/q1/att-507/CVE-2016-2116.patch
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
---- jasper-1.900.1-debian1.orig/src/libjasper/base/jas_icc.c
-+++ jasper-1.900.1-debian1/src/libjasper/base/jas_icc.c
-@@ -1693,6 +1693,8 @@ jas_iccprof_t *jas_iccprof_createfrombuf
- 	jas_stream_close(in);
- 	return prof;
- error:
-+	if (in)
-+		jas_stream_close(in);
- 	return 0;
- }
- 
package/jasper/0009-fix-CVE-2016-1577.patch deleted +0 -18
deleted file mode 100644
index cfe8b45e3057..000000000000
@@ -1,18 +0,0 @@
-Description: CVE-2016-1577: Prevent double-free in jas_iccattrval_destroy()
-Author: Tyler Hicks <tyhicks () canonical com>
-Bug-Ubuntu: https://launchpad.net/bugs/1547865
-
-From: http://seclists.org/oss-sec/2016/q1/att-507/CVE-2016-1577.patch
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
---- jasper-1.900.1-debian1.orig/src/libjasper/base/jas_icc.c
-+++ jasper-1.900.1-debian1/src/libjasper/base/jas_icc.c
-@@ -300,6 +300,7 @@ jas_iccprof_t *jas_iccprof_load(jas_stre
- 				if (jas_iccprof_setattr(prof, tagtabent->tag, attrval))
- 					goto error;
- 				jas_iccattrval_destroy(attrval);
-+				attrval = 0;
- 			} else {
- #if 0
- 				jas_eprintf("warning: skipping unknown tag type\n");
package/jasper/0010-fix-CVE-2016-1867.patch deleted +0 -16
deleted file mode 100644
index 33f34c356a32..000000000000
@@ -1,16 +0,0 @@
-From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2016-1867.patch
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
-diff -urNp jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c jasper-1.900.1.new/src/libjasper/jpc/jpc_t2cod.c
---- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c	2016-08-11 14:34:31.795661973 +0200
-+++ jasper-1.900.1.new/src/libjasper/jpc/jpc_t2cod.c	2016-08-12 07:02:40.044860209 +0200
-@@ -429,7 +429,7 @@ static int jpc_pi_nextcprl(register jpc_
- 	}
- 
- 	for (pi->compno = pchg->compnostart, pi->picomp =
--	  &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend); ++pi->compno,
-+	  &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend) && pi->compno < pi->numcomps; ++pi->compno,
- 	  ++pi->picomp) {
- 		pirlvl = pi->picomp->pirlvls;
- 		pi->xstep = pi->picomp->hsamp * (1 << (pirlvl->prcwidthexpn +
package/jasper/0011-fix-CVE-2015-5221.patch deleted +0 -23
deleted file mode 100644
index 7dcbdddd7b15..000000000000
@@ -1,23 +0,0 @@
-From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2015-5221.patch
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
-diff -urNp jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1.new/src/libjasper/mif/mif_cod.c
---- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c	2016-08-11 13:46:26.166415464 +0200
-+++ jasper-1.900.1.new/src/libjasper/mif/mif_cod.c	2016-08-11 14:17:20.507144931 +0200
-@@ -569,13 +569,13 @@ static int mif_process_cmpt(mif_hdr_t *h
- 			break;
- 		}
- 	}
--	jas_tvparser_destroy(tvp);
- 	if (!cmpt->sampperx || !cmpt->samppery) {
- 		goto error;
- 	}
- 	if (mif_hdr_addcmpt(hdr, hdr->numcmpts, cmpt)) {
- 		goto error;
- 	}
-+	jas_tvparser_destroy(tvp);
- 	return 0;
- 
- error:
-
package/jasper/0012-fix-CVE-2015-5203.patch deleted +0 -187

187 lines not on this page · raw message

package/jasper/jasper.hash +1 -1
index 4d9ed7432afa..fdadbb283d1c 100644
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256	6e9a959bf4f8cb02f77f42d1b9880b8e85d021ac51f43d8787b5438fd2b7a1c5	jasper-1.900.1.tar.bz2
+sha256	6c942ae79108cd6a359e5bc34ea03565bd33ac20f6814cb09c4f92298b6b1cb8	jasper-1.900.22.tar.gz
package/jasper/jasper.mk +3 -6
index db86ae88e126..4616fed1885d 100644
@@ -4,15 +4,12 @@
 #
 ################################################################################
 
-JASPER_VERSION = 1.900.1
-JASPER_SITE = http://sources.openelec.tv/devel
-JASPER_SOURCE = jasper-$(JASPER_VERSION).tar.bz2
+JASPER_VERSION = 1.900.22
+JASPER_SITE = http://www.ece.uvic.ca/~frodo/jasper/software
 JASPER_INSTALL_STAGING = YES
 JASPER_DEPENDENCIES = jpeg
-JASPER_LICENSE = MIT
+JASPER_LICENSE = JasPer License Version 2.0
 JASPER_LICENSE_FILES = LICENSE
-# needed to fix rpath issue (http://autobuild.buildroot.net/results/307/307cac65287420252a5bb64715d9a1edd90e72fa/)
-JASPER_AUTORECONF = YES
 
 # Xtensa gcc is unable to generate correct code with -O0 enabled by
 # --enable-debug. Allow package build but disable debug.
Signature · 1 line
2.10.2
#1 lore raw

PATCH 1/1 jasper: security bump to version 1.900.22

Hello,

Quoted 49 lines · Baruch Siach

Fixes:
CVE-2016-8693: Double free vulnerability in mem_close
CVE-2016-8692: Divide by zero in jpc_dec_process_siz
CVE-2016-8691: Divide by zero in jpc_dec_process_siz
CVE-2016-8690: Null pointer dereference in bmp_getdata triggered by crafted BMP image
CVE-2016-2089: matrix rows_ NULL pointer dereference in jas_matrix_clip()
CVE-2016-8886: memory allocation failure in jas_malloc
CVE-2016-8887: Null pointer dereference in jp2_colr_destroy CVE-2016-8884, CVE-2016-8885: Null pointer dereference in bmp_getdata (incomplete fix for CVE-2016-8690)
CVE-2016-8880: Heap buffer overflow in jpc_dec_cp_setfromcox()
CVE-2016-8881: Heap buffer overflow in jpc_getuint16()
CVE-2016-8882: Null pointer access in jpc_pi_destroy
CVE-2016-8883: Assert in jpc_dec_tiledecode()

Drop upstream patches.

Change SITE to the official download location, since the current one does not have the updated version. Unfortunately, the official site only offers tar.gz.

Fix license. It is "based on the MIT license", but not exactly the same
(http://www.ece.uvic.ca/~frodo/jasper/; under "Legal Issues").

Drop autoreconf; the autotools version has been updated since commit 324ccec90d (jasper: autoreconf to fix rpath issue) that introduced it.

Cc Maxime Hadjinlian <[email protected]>
---
 package/jasper/0001-fix-CVE-2014-9029.patch   |  36 ---
 package/jasper/0002-fix-CVE-2014-8138.patch   |  18 --
 package/jasper/0003-fix-CVE-2014-8137-1.patch |  47 ----
 package/jasper/0004-fix-CVE-2014-8137-2.patch |  18 --
 package/jasper/0005-fix-CVE-2014-8157.patch   |  17 --
 package/jasper/0006-fix-CVE-2014-8158.patch   | 334 --------------------------
 package/jasper/0007-preserve-cflags.patch     |  27 ---
 package/jasper/0008-fix-CVE-2016-2116.patch   |  18 --
 package/jasper/0009-fix-CVE-2016-1577.patch   |  18 --
 package/jasper/0010-fix-CVE-2016-1867.patch   |  16 --
 package/jasper/0011-fix-CVE-2015-5221.patch   |  23 --
 package/jasper/0012-fix-CVE-2015-5203.patch   | 187 --------------
 package/jasper/jasper.hash                    |   2 +-
 package/jasper/jasper.mk                      |   9 +-
 14 files changed, 4 insertions(+), 766 deletions(-)
 delete mode 100644 package/jasper/0001-fix-CVE-2014-9029.patch
 delete mode 100644 package/jasper/0002-fix-CVE-2014-8138.patch
 delete mode 100644 package/jasper/0003-fix-CVE-2014-8137-1.patch
 delete mode 100644 package/jasper/0004-fix-CVE-2014-8137-2.patch
Quoted 8 lines
 delete mode 100644 package/jasper/0005-fix-CVE-2014-8157.patch
 delete mode 100644 package/jasper/0006-fix-CVE-2014-8158.patch
 delete mode 100644 package/jasper/0007-preserve-cflags.patch
 delete mode 100644 package/jasper/0008-fix-CVE-2016-2116.patch
 delete mode 100644 package/jasper/0009-fix-CVE-2016-1577.patch
 delete mode 100644 package/jasper/0010-fix-CVE-2016-1867.patch
 delete mode 100644 package/jasper/0011-fix-CVE-2015-5221.patch
 delete mode 100644 package/jasper/0012-fix-CVE-2015-5203.patch

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com