Bug 1191083 (CVE-2014-9661)

Summary: CVE-2014-9661 freetype: out of bounds read in Type42 font parser
Product: [Other] Security Response Reporter: Vasyl Kaigorodov <vkaigoro>
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, kevin, mkasik
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: freetype 2.5.4 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-18 07:40:44 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: 1191099, 1197737, 1197738, 1197739, 1197740    
Bug Blocks: 1191102    

Description Vasyl Kaigorodov 2015-02-10 12:50:47 UTC
Common Vulnerabilities and Exposures assigned CVE-2014-9661 to the following issue:

type42/t42parse.c in FreeType before 2.5.4 does not consider that scanning can
be incomplete without triggering an error, which allows remote attackers to
cause a denial of service (use-after-free) or possibly have unspecified other
impact via a crafted Type42 font.

http://code.google.com/p/google-security-research/issues/detail?id=187
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=3788187e0c396952cd7d905c6c61f3ff8e84b2b4
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=42fcd6693ec7bd6ffc65ddc63e74287a65dda669

Comment 1 Vasyl Kaigorodov 2015-02-10 12:56:05 UTC
Created freetype tracking bugs for this issue:

Affects: fedora-all [bug 1191099]

Comment 2 Fedora Update System 2015-02-19 18:00:51 UTC
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 Fedora Update System 2015-02-20 08:30:46 UTC
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 4 Tomas Hoger 2015-02-20 12:08:52 UTC
Upstream bug is:
https://savannah.nongnu.org/bugs/?43659

Issue was fixed upstream in 2.5.4.

This is not really a use-after-free issue.  The problem rather here is that ttf_data and ttf_size get out of sync.  t42_parse_sfnts() can be called multiple times.  On the first call, ttf_data is allocated and ttf_size properly set to its size.  On a subsequent call, tff_data re-allocated to be shorter, but ttf_size is not updated to match new ttf_data size.  This leads to buffer over-read later.  In that processing, valid pointer is used, in combination incorrect value indicating buffer size.

Comment 7 errata-xmlrpc 2015-03-17 17:58:58 UTC
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