CVE-2015-9383
Medium · 6.5CVSS
6.5
EPSS
2.3%
Published
Sep 3, 2019
CISA due date
—
Cloudanix analysis
A bug in a common library used to display text can make programs crash when they encounter a specially made font file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer over-read in tt_cmap14_validate during TrueType font cmap table parsing, allowing an attacker-controlled font to read beyond allocated heap memory and trigger a crash.
Why it matters to the business
Applications that render or process fonts can be forced to crash by a single malicious font file, leading to denial of service for users, document viewers, or services that accept untrusted fonts; the issue affects widely used open-source and Linux distributions with no active exploitation campaigns reported.
How an attack unfolds
An attacker crafts a malicious TrueType font containing a malformed cmap subtable 14, then delivers it to a victim application that uses an affected FreeType version; when the library parses the font to render text or validate the file, the over-read occurs and causes an immediate crash.
How to fix it
Upgrade FreeType to version 2.6.2 or later on all affected systems; rebuild and redeploy any statically linked applications; apply vendor patches for Debian, Ubuntu, and other distributions once available.
How to confirm the fix worked
Confirm FreeType version is 2.6.2 or newer via package manager or library file metadata; test with a known malformed cmap14 font sample in a controlled environment to verify no crash occurs.
Typical attack path
- Identify or create a target application that loads fonts via FreeType < 2.6.2
- Craft a TrueType font with a malformed cmap14 table that triggers the buffer over-read
- Deliver the font file to the victim (email attachment, web page, document, or package)
- Trigger font loading or rendering in the target application
- Observe denial-of-service crash with no further attacker control
How to detect it
Review application crash logs for segmentation faults or heap errors during font parsing; inspect file-upload or rendering logs for recent TrueType (.ttf) or collection (.ttc) files that coincide with crashes; no widespread exploitation indicators exist for this older issue.
What your security team should do
- Prioritize updating FreeType packages across all Linux and application servers within 30 days given public exploit availability
- Inventory applications that embed or link against FreeType and schedule upgrades
- Block or sanitize untrusted font uploads in document-processing workflows until patched
- Monitor for new fixed-version releases in Debian and Ubuntu repositories
The record
FreeType before 2.6.2 has a heap-based buffer over-read in tt_cmap14_validate in sfnt/ttcmap.c.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | freetype | 0 | 2.6.3-1 |
| Debian:12 | freetype | 0 | 2.6.3-1 |
| Debian:13 | freetype | 0 | 2.6.3-1 |
| Debian:8 | freetype | 0 | 2.5.2-3+deb8u4 |
| Ubuntu:14.04:LTS | freetype | 0 | 2.5.2-1ubuntu2.8+esm1 |
| Ubuntu:16.04:LTS | freetype | 0 | 2.6.1-0.1ubuntu2.4 |
| Ubuntu:18.04:LTS | freetype | 0 | 2.8.1-2ubuntu2 |
| Ubuntu:Pro:14.04:LTS | freetype | 0 | 2.5.2-1ubuntu2.8+esm1 |
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-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
- CVE-2014-9745 The parse_encoding function in type1/t1load.c in FreeType before 2.5.3 allows remote… Also affects freetype