Bug 800604 (CVE-2012-1142)

Summary: CVE-2012-1142 freetype: incorrect computation of number of glyphs in FNT_Face_Init() for FNT/FON files (#35659)
Product: [Other] Security Response Reporter: Jan Lieskovsky <jlieskov>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: behdad, fonts-bugs, jrusnack, kevin, mkasik
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-24 21:02:12 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: 806266, 806267, 806268, 806269, 806270, 806271, 889398    
Bug Blocks: 800639    

Description Jan Lieskovsky 2012-03-06 18:58:26 UTC
An out-of heap-based buffer write flaw was found in the way FreeType font rendering engine performed computation of advance width values for certain glyph outlines. A remote attacker could provide a specially-crafted TrueType font file, which once opened in an application linked against FreeType would lead to that application crash, or, potentially arbitrary code execution with the privileges of the user running the application.

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

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

Acknowledgements:

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:58:12 UTC
Added CVE as per http://www.openwall.com/lists/oss-security/2012/03/06/16

Comment 2 Jan Lieskovsky 2012-03-15 18:00:12 UTC
This issue affects the versions of the freetype package, as shipped with Red Hat Enterprise Linux 5 and 6.

--

This issue affects the versions of the freetype package, as shipped with Fedora release of 15 and 16.

Comment 7 Tomas Hoger 2012-03-16 14:45:54 UTC
This flaw is in the driver for reading Windows FNT/FON file (i.e. not TTF files as mentioned in comment #0).  FreeType did not check that last_char >= first_char, which resulted in incorrect computation of the number of glyphs in the file.  The number of glyphs was set to a negative value.

When using ftbench, this resulted in NULL pointer dereference, as ftbench's test_load_advances uses num_glyphs as argument to calloc, but does not check its return value.  The impact on different applications using freetype may be different.

Comment 8 errata-xmlrpc 2012-04-10 19:59:22 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