Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1314472 (CVE-2016-2116)

Summary: CVE-2016-2116 jasper: memory leak in jas_iccprof_createfrombuf()
Product: [Other] Security Response Reporter: Adam Mariš <amaris>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: abhgupta, alonbl, bmcclain, cfergeau, dblechte, dmcphers, erik-fedora, jialiu, jokerman, jpopelka, kseifried, lmeyer, lsurette, mgoldboi, michal.skrivanek, mmccomas, phracek, rbalakri, rdieter, rh-spice-bugs, rjones, sherold, slawomir, srevivo, tiwillia, ykaul, ylavi
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: jasper 1.900.2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-09 21:40:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1314473, 1314474, 1314475, 1314476, 1439171, 1439172, 1439173, 1439174    
Bug Blocks:    

Description Adam Mariš 2016-03-03 17:02:15 UTC
Memory leak in jas_iccprof_createfrombuf function in JasPer 1.900.1 and earlier was found, allowing remote attackers to cause a denial of service (memory consumption) via a crafted ICC color profile in a JPEG 2000 image file.

Vulnerable code:

src/libjasper/base/jas_icc.c:
1685    jas_iccprof_t *jas_iccprof_createfrombuf(uchar *buf, int len)
1686    {
1687            jas_stream_t *in;
1688            jas_iccprof_t *prof;
1689            if (!(in = jas_stream_memopen(JAS_CAST(char *, buf), len)))
1690                    goto error;
1691            if (!(prof = jas_iccprof_load(in)))
1692                    goto error;
1693            jas_stream_close(in);
1694            return prof;
1695    error:
1696            return 0;
1697    }

jas_stream_t allocated by the call to jas_stream_memopen() is leaked if jas_iccprof_load() fails on line 1691.

Proposed patch:

http://seclists.org/oss-sec/2016/q1/att-507/CVE-2016-2116.patch

Public via (contains crash report):

http://seclists.org/oss-sec/2016/q1/507

Comment 1 Adam Mariš 2016-03-03 17:03:32 UTC
Created mingw-jasper tracking bugs for this issue:

Affects: fedora-all [bug 1314474]
Affects: epel-7 [bug 1314476]

Comment 2 Adam Mariš 2016-03-03 17:03:49 UTC
Created jasper tracking bugs for this issue:

Affects: fedora-all [bug 1314473]
Affects: epel-5 [bug 1314475]

Comment 3 Fedora Update System 2016-08-15 21:20:47 UTC
jasper-1.900.1-33.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 4 Fedora Update System 2016-09-09 21:50:55 UTC
jasper-1.900.1-33.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 5 Tomas Hoger 2016-11-23 21:35:36 UTC
Fix was integrated upstream in version 1.900.2:

https://github.com/mdadams/jasper/commit/142245b9bbb33274a7c620aa7a8f85bc00b2d68e

Comment 8 errata-xmlrpc 2017-05-09 17:16:42 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