Bug 1396971 (CVE-2016-9392, CVE-2016-9393, CVE-2016-9394) - CVE-2016-9392 CVE-2016-9393 CVE-2016-9394 jasper: insufficient SIZ marker segment data sanity checks
Summary: CVE-2016-9392 CVE-2016-9393 CVE-2016-9394 jasper: insufficient SIZ marker seg...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2016-9392, CVE-2016-9393, CVE-2016-9394
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard: impact=low,public=20161028,reported=2...
: 1396972 1396975 (view as bug list)
Depends On: 1396986 1396987 1396988 1396989 1439171 1439172 1439173 1439174
Blocks: 1314477
TreeView+ depends on / blocked
 
Reported: 2016-11-21 10:06 UTC by Adam Mariš
Modified: 2019-06-08 21:35 UTC (History)
27 users (show)

Fixed In Version: jasper 1.900.17
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-05-09 21:41:43 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:1208 normal SHIPPED_LIVE Important: jasper security update 2017-05-09 21:13:57 UTC

Description Adam Mariš 2016-11-21 10:06:28 UTC
There were missing sanity checks in jpc_siz_getparms.

Upstream patch:

https://github.com/mdadams/jasper/commit/f7038068550fba0e41e1d0c355787f1dcd5bf330

CVE assignment:

http://seclists.org/oss-sec/2016/q4/441

Comment 1 Adam Mariš 2016-11-21 10:33:58 UTC
Created mingw-jasper tracking bugs for this issue:

Affects: fedora-all [bug 1396987]
Affects: epel-7 [bug 1396989]

Comment 2 Adam Mariš 2016-11-21 10:34:19 UTC
Created jasper tracking bugs for this issue:

Affects: fedora-all [bug 1396986]
Affects: epel-5 [bug 1396988]

Comment 3 Tomas Hoger 2017-03-29 21:05:03 UTC
This fix further extends checks added for CVE-2016-9390 (bug 1396965).  There are 3 CVEs for various symptoms of issues addressed by this fix.  All 3 CVEs are covered by this advisory from the original reporter:

https://blogs.gentoo.org/ago/2016/11/16/jasper-multiple-assertion-failure/


* CVE-2016-9392

Upstream bug report:

https://github.com/mdadams/jasper/issues/57

Relevant information from the original reporter's advisory:

Affected version: 1.900.13

Output/failure:
imginfo: /tmp/portage/media-libs/jasper-1.900.13/work/jasper-1.900.13/src/libjasper/jpc/jpc_dec.c:1637: void calcstepsizes(uint_fast16_t, int, uint_fast16_t *): Assertion `!((expn + (numrlvls – 1) – (numrlvls – 1 – ((bandno > 0) ? ((bandno + 2) / 3) : (0)))) & (~0x1f))’ failed.

Commit fix:
https://github.com/mdadams/jasper/commit/f7038068550fba0e41e1d0c355787f1dcd5bf330

Fixed version: 1.900.17

Testcase:
https://github.com/asarubbo/poc/blob/master/00012-jasper-assert-calcstepsizes

CVE: CVE-2016-9392


* CVE-2016-9393

Affected version: 1.900.13

Output/failure:
type = 0xff41 (UNKNOWN); len = 20;02 40 40 00 00 00 00 ee ff 00 00 00 00 24 00 00 00 00 imginfo: /tmp/portage/media-libs/jasper-1.900.13/work/jasper-1.900.13/src/libjasper/jpc/jpc_t2cod.c:297: int jpc_pi_nextrpcl(jpc_pi_t *): Assertion `pi->prcno pirlvl->numprcs’ failed.

Commit fix:
https://github.com/mdadams/jasper/commit/f7038068550fba0e41e1d0c355787f1dcd5bf330

Fixed version: 1.900.17

Testcase:
https://github.com/asarubbo/poc/blob/master/00013-jasper-assert-jpc_pi_nextrpcl

CVE: CVE-2016-9393


* CVE-2016-9394

Affected version: 1.900.15

Output/failure:
imginfo: /tmp/portage/media-libs/jasper-1.900.15/work/jasper-1.900.15/src/libjasper/base/jas_seq.c:90: jas_matrix_t *jas_seq2d_create(int, int, int, int): Assertion `xstart <= xend && ystart <= yend' failed.

Commit fix:
https://github.com/mdadams/jasper/commit/f7038068550fba0e41e1d0c355787f1dcd5bf330

Fixed version: 1.900.17

Testcase:
https://github.com/asarubbo/poc/blob/master/00016-jasper-assert-jas_matrix_t

CVE: CVE-2016-9394

Comment 7 Tomas Hoger 2017-03-29 21:10:56 UTC
Similar to the CVE-2016-9390 issue, the impact of this flaw seems to be limited to triggering various assertion failures.  Failed assertion causes program to exit unexpectedly, but does not allow code execution.  As a precaution against impacts other than the known assertion failures, it may get addressed in future jasper packages in Red Hat Enterprise Linux 6 and 7.

Comment 8 Tomas Hoger 2017-03-29 21:13:13 UTC
*** Bug 1396972 has been marked as a duplicate of this bug. ***

Comment 9 Tomas Hoger 2017-03-29 21:13:58 UTC
*** Bug 1396975 has been marked as a duplicate of this bug. ***

Comment 10 errata-xmlrpc 2017-05-09 17:19:55 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2017:1208 https://access.redhat.com/errata/RHSA-2017:1208


Note You need to log in before you can comment on or make changes to this bug.