Bug 1191078 (CVE-2014-9656) - CVE-2014-9656 freetype: integer underflow in the tt_sbit_decoder_load_image()
Summary: CVE-2014-9656 freetype: integer underflow in the tt_sbit_decoder_load_image()
Keywords:
Status: CLOSED NOTABUG
Alias: CVE-2014-9656
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1191099
Blocks: 1191102
TreeView+ depends on / blocked
 
Reported: 2015-02-10 12:49 UTC by Vasyl Kaigorodov
Modified: 2021-02-17 05:40 UTC (History)
4 users (show)

Fixed In Version: freetype 2.5.4
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-19 15:33:13 UTC
Embargoed:


Attachments (Terms of Use)

Description Vasyl Kaigorodov 2015-02-10 12:49:56 UTC
Common Vulnerabilities and Exposures assigned CVE-2014-9656 to the following issue:

The tt_sbit_decoder_load_image function in sfnt/ttsbit.c in FreeType before
2.5.4 does not properly check for an integer overflow, which allows remote
attackers to cause a denial of service (out-of-bounds read) or possibly have
unspecified other impact via a crafted OpenType font.

http://code.google.com/p/google-security-research/issues/detail?id=196
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=f0292bb9920aa1dbfed5f53861e7c7a89b35833a

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

Affects: fedora-all [bug 1191099]

Comment 2 Tomas Hoger 2015-02-19 15:29:39 UTC
Upstream bug is:

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

Issue was fixed upstream in 2.5.4.

This is an integer underflow issue in an integer overflow check, which guards against buffer over-read.  This can easily trigger crash.

The problem was introduced in the following commit:

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=ba931be2

Additionally, prior to upstream version 2.5, affected code was only built and used when FT_CONFIG_OPTION_OLD_INTERNALS macro was not defined.  It was defined by default in upstream versions prior to 2.4.12:

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=e4ecce3b

The freetype packages in Red Hat Enterprise Linux are based on older upstream versions and do not override this upstream setting, i.e. they define FT_CONFIG_OPTION_OLD_INTERNALS.  Therefore, they were not affected by this issue, or the problem commit e4ecce3b attempted to address.

Statement:

This issue did not affect the versions of freetype as shipped with Red Hat Enterprise Linux 5, 6, and 7.


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