Bug 800595 (CVE-2012-1137)

Summary: CVE-2012-1137 freetype: heap buffer off-by-one in BDF parsing _bdf_list_ensure() (#35643)
Product: [Other] Security Response Reporter: Jan Lieskovsky <jlieskov>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: behdad, fonts-bugs, jrusnack, kevin, mkasik
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-24 21:02:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 806266, 806267, 806268, 806269, 806270, 806271, 889398    
Bug Blocks: 800639    

Description Jan Lieskovsky 2012-03-06 18:54:29 UTC
An out-of heap-based buffer read flaw was found in the way FreeType font rendering engine performed loading and parsing of file header information for glyph bitmap distribution format (BDF) font files. A remote attacker could provide a BDF font file with specially-crafted BDF header, which once processed in an application linked against FreeType would lead to that application crash.

Upstream bug report:
[1] https://savannah.nongnu.org/bugs/?35643

Upstream patch:
[2] http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=cee5d593582801f65c5e127d9de9ca24ebcdc747


Red Hat would like to thank Mateusz Jurczyk of the Google Security Team for reporting this issue.

Comment 1 Kurt Seifried 2012-03-06 20:55:33 UTC
Added CVE as per http://www.openwall.com/lists/oss-security/2012/03/06/16

Comment 2 Tomas Hoger 2012-03-15 14:24:11 UTC
This is an issue in _bdf_list_ensure() in bdflib.c.  When allocating field[] array, a space for at least 4 items is allocated.  However, the rest of the code assume that field[] always has at least 5 items.  This leads to an off-by-one buffer over-read.  field[] items are char*, so this may cause program to use an uninitialized pointer for reading and possibly crash.

Comment 4 errata-xmlrpc 2012-04-10 19:59:09 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 6

Via RHSA-2012:0467 https://rhn.redhat.com/errata/RHSA-2012-0467.html