Bug 1032273 (CVE-2013-6369) - CVE-2013-6369 jbigkit: stack-based buffer overflow flaw
Summary: CVE-2013-6369 jbigkit: stack-based buffer overflow flaw
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: CVE-2013-6369
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1083412 1085362
Blocks: 1032191 1032275
TreeView+ depends on / blocked
 
Reported: 2013-11-19 21:27 UTC by Vincent Danen
Modified: 2023-05-12 01:35 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-10 09:46:02 UTC
Embargoed:


Attachments (Terms of Use)
upstream patch (4.38 KB, patch)
2013-11-20 20:02 UTC, Vincent Danen
no flags Details | Diff

Description Vincent Danen 2013-11-19 21:27:13 UTC
Florian Weimer found a stack-based buffer overflow flaw in the libjbig library (part of jbigkit).  A specially-crafted image file read by libjbig could be used to cause a program linked to libjbig to crash or, potentially, to execute arbitrary code.

Acknowledgements:

This issue was discovered by Florian Weimer of the Red Hat Product Security Team.

Comment 2 Florian Weimer 2013-11-20 09:25:01 UTC
The problematic loop is the while loop in this snippet from libjbig/jbig.c:jbg_dec_in():

  /* read in DPTABLE */
  if (s->bie_len < 20 + 1728 && 
      (s->options & (JBG_DPON | JBG_DPPRIV | JBG_DPLAST)) ==
      (JBG_DPON | JBG_DPPRIV)) {
    assert(s->bie_len >= 20);
    while (s->bie_len < 20 + 1728 && *cnt < len)
      s->buffer[s->bie_len++ - 20] = data[(*cnt)++];
    if (s->bie_len < 20 + 1728) 
      return JBG_EAGAIN;
    if (!s->dppriv || s->dppriv == jbg_dptable)
      s->dppriv = (char *) checked_malloc(1728, sizeof(char));
    jbg_dppriv2int(s->dppriv, s->buffer);
  }

s->buffer has only 20 bytes, and the loop copies much more than that.

Comment 3 Vincent Danen 2013-11-20 20:02:08 UTC
Created attachment 826828 [details]
upstream patch

Patch supplied by upstream to correct the flaw.

Comment 11 Huzaifa S. Sidhpurwala 2014-04-08 12:57:23 UTC
Public via:

https://www.cl.cam.ac.uk/~mgk25/jbigkit/CHANGES

Upstream has released jbigkit-2.1.tar.gz to fix this issue:
https://www.cl.cam.ac.uk/~mgk25/jbigkit/

Comment 12 Huzaifa S. Sidhpurwala 2014-04-08 12:58:54 UTC
Created jbigkit tracking bugs for this issue:

Affects: fedora-all [bug 1085362]

Comment 13 Fedora Update System 2014-04-15 15:55:53 UTC
jbigkit-2.0-10.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2014-04-23 04:32:54 UTC
jbigkit-2.0-9.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Florian Weimer 2014-11-10 09:46:02 UTC
Statement:

This issue did not affect the versions of jbigkit as shipped with Red Hat Enterprise Linux 7, as the issue was corrected before the release of Red Hat Enterprise Linux 7.


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