Red Hat Bugzilla – Bug 800604
CVE-2012-1142 freetype: incorrect computation of number of glyphs in FNT_Face_Init() for FNT/FON files (#35659)
Last modified: 2015-11-24 09:52:54 EST
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:
Red Hat would like to thank Mateusz Jurczyk of the Google Security Team for reporting this issue.
Added CVE as per http://www.openwall.com/lists/oss-security/2012/03/06/16
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.
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.
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