Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1191080 - (CVE-2014-9658) CVE-2014-9658 freetype: buffer over-read and integer underflow in tt_face_load_kern()
CVE-2014-9658 freetype: buffer over-read and integer underflow in tt_face_loa...
Status: CLOSED ERRATA
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
low Severity low
: ---
: ---
Assigned To: Red Hat Product Security
impact=low,public=20141124,reported=2...
: Security
Depends On: 1191099 1197737 1197738 1197739 1197740
Blocks: 1191102
  Show dependency treegraph
 
Reported: 2015-02-10 07:50 EST by Vasyl Kaigorodov
Modified: 2015-11-25 05:28 EST (History)
4 users (show)

See Also:
Fixed In Version: freetype 2.5.4
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-03-18 03:41:00 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0696 normal SHIPPED_LIVE Important: freetype security update 2015-03-17 17:58:07 EDT

  None (edit)
Description Vasyl Kaigorodov 2015-02-10 07:50:17 EST
Common Vulnerabilities and Exposures assigned CVE-2014-9658 to the following issue:

The tt_face_load_kern function in sfnt/ttkern.c in FreeType before 2.5.4
enforces an incorrect minimum table length, which allows remote attackers to
cause a denial of service (out-of-bounds read) or possibly have unspecified
other impact via a crafted TrueType font.

http://code.google.com/p/google-security-research/issues/detail?id=194
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=f70d9342e65cd2cb44e9f26b6d7edeedf191fc6c
Comment 1 Vasyl Kaigorodov 2015-02-10 07:55:29 EST
Created freetype tracking bugs for this issue:

Affects: fedora-all [bug 1191099]
Comment 2 Fedora Update System 2015-02-19 13:01:12 EST
freetype-2.5.3-15.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 3 Tomas Hoger 2015-02-19 15:58:29 EST
Upstream bug is:

https://savannah.nongnu.org/bugs/?43672

Issue was fixed upstream in 2.5.4.

The issue here starts as a simple short buffer over-read.  Existing check to ensure enough input data is still available was incorrect:

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/sfnt/ttkern.c?id=73be9f9#n102

The length <= 6 only takes into account the previously read header:

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/sfnt/ttkern.c?id=73be9f9#n96

p is later incremented by 8 (but only the first two bytes are actually read/accessed):

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/sfnt/ttkern.c?id=73be9f9#n115

However, when length is too short, p_next may be less than p, which leads to integer underflow in (p_next - p) in this num_pairs check:

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/sfnt/ttkern.c?id=73be9f9#n118

The check aims to prevent further over-reads.  Underflow bypasses the check and makes it possible to read 6 * 0xffff bytes (num_pairs is short).  Crash should be possible.
Comment 5 Fedora Update System 2015-02-20 03:30:41 EST
freetype-2.5.0-9.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 7 errata-xmlrpc 2015-03-17 13:58:53 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2015:0696 https://rhn.redhat.com/errata/RHSA-2015-0696.html

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