Bug 1191085 (CVE-2014-9663) - CVE-2014-9663 freetype: out-of-bounds read in tt_cmap4_validate()
Summary: CVE-2014-9663 freetype: out-of-bounds read in tt_cmap4_validate()
Alias: CVE-2014-9663
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
Depends On: 1191099 1197737 1197738 1197739 1197740
Blocks: 1191102
TreeView+ depends on / blocked
Reported: 2015-02-10 12:51 UTC by Vasyl Kaigorodov
Modified: 2019-09-29 13:28 UTC (History)
4 users (show)

Fixed In Version: freetype 2.5.4
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-03-18 07:40:50 UTC

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0696 0 normal SHIPPED_LIVE Important: freetype security update 2015-03-17 21:58:07 UTC

Description Vasyl Kaigorodov 2015-02-10 12:51:08 UTC
Common Vulnerabilities and Exposures assigned CVE-2014-9663 to the following issue:

The tt_cmap4_validate function in sfnt/ttcmap.c in FreeType before 2.5.4
validates a certain length field before that field's value is completely
calculated, which allows remote attackers to cause a denial of service
(out-of-bounds read) or possibly have unspecified other impact via a crafted
cmap SFNT table.


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

Affects: fedora-all [bug 1191099]

Comment 2 Fedora Update System 2015-02-19 18:00:53 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:49 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 21:57:41 UTC
Upstream bug is:

Issue was fixed upstream in 2.5.4.

This is a very limited buffer over-read.  Two bytes are read from at max 7th and 8th byte after the end of the buffer.  After that, another check is reached that detects the problem.  This is rather unlikely to cause crash.

Issue is caused by a misplaced check to ensure enough input it still available for further parsing.  After the check, length variable indicating remaining input size is decremented to the size of the actually available data.

Comment 7 errata-xmlrpc 2015-03-17 17:59:01 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

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