Merge branch 'jasper_vulnerabilities'
This commit is contained in:
commit
656ae7a97c
5 changed files with 115 additions and 1 deletions
|
@ -8,13 +8,19 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./jasper-CVE-2014-8137-variant2.diff ./jasper-CVE-2014-8137-noabort.diff
|
||||
./jasper-CVE-2014-8138.diff
|
||||
./jasper-CVE-2014-9029.diff
|
||||
];
|
||||
|
||||
nativeBuildInputs = [unzip];
|
||||
propagatedBuildInputs = [ libjpeg ];
|
||||
|
||||
configureFlags = "--enable-shared";
|
||||
|
||||
meta = {
|
||||
homepage = http://www.ece.uvic.ca/~mdadams/jasper/;
|
||||
homepage = https://www.ece.uvic.ca/~frodo/jasper/;
|
||||
description = "JPEG2000 Library";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=967284&action=diff
|
||||
|
||||
--- 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));
|
|
@ -0,0 +1,45 @@
|
|||
From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=967283&action=diff
|
||||
|
||||
--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2014-12-11 14:06:44.000000000 +0100
|
||||
+++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2014-12-11 15:16:37.971272386 +0100
|
||||
@@ -1009,7 +1009,6 @@ static int jas_icccurv_input(jas_iccattr
|
||||
return 0;
|
||||
|
||||
error:
|
||||
- jas_icccurv_destroy(attrval);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1127,7 +1126,6 @@ static int jas_icctxtdesc_input(jas_icca
|
||||
#endif
|
||||
return 0;
|
||||
error:
|
||||
- jas_icctxtdesc_destroy(attrval);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1206,8 +1204,6 @@ static int jas_icctxt_input(jas_iccattrv
|
||||
goto error;
|
||||
return 0;
|
||||
error:
|
||||
- if (txt->string)
|
||||
- jas_free(txt->string);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1328,7 +1324,6 @@ static int jas_icclut8_input(jas_iccattr
|
||||
goto error;
|
||||
return 0;
|
||||
error:
|
||||
- jas_icclut8_destroy(attrval);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1497,7 +1492,6 @@ static int jas_icclut16_input(jas_iccatt
|
||||
goto error;
|
||||
return 0;
|
||||
error:
|
||||
- jas_icclut16_destroy(attrval);
|
||||
return -1;
|
||||
}
|
||||
|
16
pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff
Normal file
16
pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff
Normal file
|
@ -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),
|
31
pkgs/development/libraries/jasper/jasper-CVE-2014-9029.diff
Normal file
31
pkgs/development/libraries/jasper/jasper-CVE-2014-9029.diff
Normal file
|
@ -0,0 +1,31 @@
|
|||
From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=961994&action=diff
|
||||
|
||||
--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:45:44.000000000 +0100
|
||||
+++ jasper-1.900.1/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;
|
||||
}
|
Loading…
Reference in a new issue