CVE-2014-9656
NoneCVSS
—
EPSS
4.6%
Published
Feb 8, 2015
CISA due date
—
Cloudanix analysis
A problem in the way some programs read special font files can let attackers crash the program or possibly take control when a bad font is opened.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in tt_sbit_decoder_load_image during OpenType font parsing allows out-of-bounds read and potential memory corruption.
Why it matters to the business
Applications processing untrusted fonts may crash or be compromised, leading to service disruption and possible remote code execution in browser or document viewers.
How an attack unfolds
An attacker creates a malicious OpenType font file that triggers the integer overflow during bitmap image loading; the file is delivered to the victim via web page, document attachment, or download, and the vulnerable font engine processes it without bounds validation.
How to fix it
Upgrade chromium-browser on Ubuntu 14.04 LTS to version 50.0.2661.102-0ubuntu0.14.04.1.1117 or later; apply equivalent FreeType updates in other products that embed the library.
How to confirm the fix worked
Verify the installed package version matches or exceeds the fixed release; test with known trigger fonts in a controlled environment to confirm absence of out-of-bounds behavior.
Typical attack path
- Craft malicious OpenType font exploiting integer overflow in sbit decoder
- Host or embed the font in a web page, email attachment, or document
- Victim application loads and parses the font using the vulnerable FreeType library
- Out-of-bounds read occurs leading to crash or memory corruption
How to detect it
Review application crash logs and font parsing error events around the time of suspected incidents; monitor for repeated loading of unusual font files from external sources.
What your security team should do
- Prioritize patching chromium-browser and any other FreeType-dependent packages within the next 30 days
- Inventory all systems that render untrusted fonts and schedule upgrades
- Implement application sandboxing and font isolation where feasible until patches are deployed
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | freetype | 0 | 2.5.2-3 |
| Debian:12 | freetype | 0 | 2.5.2-3 |
| Debian:13 | freetype | 0 | 2.5.2-3 |
| Debian:6.0 | freetype | 0 | 2.4.2-2.1+squeeze5 |
| Debian:7 | freetype | 0 | 2.4.9-1.1+deb7u1 |
| Mageia:4 | freetype2 | 0 | 2.5.0.1-3.3.mga4 |
| SUSE:Linux Enterprise Desktop 12 | freetype2 | 0 | 2.5.3-5.1 |
| SUSE:Linux Enterprise Desktop 12 | ft2demos | 0 | 2.5.3-5.1 |
| SUSE:Linux Enterprise Server 12 | freetype2 | 0 | 2.5.3-5.1 |
| SUSE:Linux Enterprise Server 12 | ft2demos | 0 | 2.5.3-5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | freetype2 | 0 | 2.5.3-5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | ft2demos | 0 | 2.5.3-5.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | freetype2 | 0 | 2.5.3-5.1 |
| Ubuntu:14.04:LTS | freetype | 0 | 2.5.2-1ubuntu2.4 |
| openSUSE:Tumbleweed | freetype2 | 0 | 2.7-1.1 |
| openSUSE:Tumbleweed | ft2demos | 0 | 2.7-1.1 |
Related vulnerabilities
- CVE-2025-27363 An out of bounds write exists in FreeType versions 2.13.0 and below (newer versions of… Also affects freetype
- CVE-2022-27406 FreeType commit 22a0cccb4d9d002f33c1ba7a4b36812c7d4f46b5 was discovered to contain a… Also affects freetype
- CVE-2022-27405 FreeType commit 53dfdcd8198d2b3201a23c4bad9190519ba918db was discovered to contain a… Also affects freetype
- CVE-2020-15999 Heap buffer overflow in Freetype in Google Chrome prior to 86.0.4240.111 allowed a remote… Also affects freetype
- CVE-2015-9381 FreeType before 2.6.1 has a heap-based buffer over-read in T1_Get_Private_Dict in… Also affects freetype
- CVE-2015-9383 FreeType before 2.6.2 has a heap-based buffer over-read in tt_cmap14_validate in… Also affects freetype
- CVE-2017-8105 FreeType 2 before 2017-03-24 has an out-of-bounds write caused by a heap-based buffer… Also affects freetype
- CVE-2016-10244 The parse_charstrings function in type1/t1load.c in FreeType 2 before 2.7 does not ensure… Also affects freetype