CVE-2016-10328
Critical · 9.8CVSS
9.8
EPSS
3.7%
Published
Apr 14, 2017
CISA due date
—
Cloudanix analysis
A flaw in software that handles fonts could let an attacker take over a computer simply by making it open a specially made font file.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer overflow in cff_parser_run allows an out-of-bounds write during CFF font parsing, enabling memory corruption that can lead to arbitrary code execution or process crash.
Why it matters to the business
Applications or systems relying on unpatched FreeType for font rendering face risk of remote compromise when processing attacker-supplied fonts, potentially affecting document viewers, browsers, and embedded UI components; the vulnerability is old with stable low exploitation probability but remains relevant in un-upgraded image builds.
How an attack unfolds
An attacker supplies a specially crafted CFF font that triggers the overflow inside cff_parser_run; when the victim application parses the font the write corrupts adjacent heap structures, allowing control-flow hijacking or denial of service.
How to fix it
Upgrade FreeType to a fixed build: istio-pilot-agent-1.19 (Chainguard or Wolfi) to 1.19.6-r1 or later; rebuild any containers using the git commit beecf80a6deecbaf5d264d4f864451bde4fe98b8 or newer; rebuild and redeploy affected images with updated packages.
How to confirm the fix worked
Confirm installed FreeType version or container image digest matches a fixed release; re-scan rebuilt images for the CVE and verify absence of the vulnerable cffparse.c code path.
Typical attack path
- Craft malicious CFF font file that overflows the parser buffer
- Deliver font via web page, document, or container image layer
- Target application loads and parses the font with vulnerable FreeType
- Overflow writes attacker-controlled data to heap memory
- Achieve code execution or crash the process
How to detect it
Review application or container logs for unexpected crashes or segmentation faults during font loading; inspect process memory dumps or core files for heap corruption patterns around CFF parsing; correlate with delivery of unusual font-containing files.
What your security team should do
- Immediately rebuild and redeploy any images containing the listed affected packages to the stated fixed versions
- Add FreeType version checks to container image scanning policies
- Prioritize updates for internet-facing or document-processing workloads
- Monitor EPSS trend and re-evaluate if exploitation maturity increases
The record
FreeType 2 before 2016-12-16 has an out-of-bounds write caused by a heap-based buffer overflow related to the cff_parser_run function in cff/cffparse.c.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Mageia:5 | freetype2 | 0 | 2.5.4-2.3.mga5 |
| Mageia:5 | freetype2 | 0 | 2.5.4-2.3.mga5.tainted |
| SUSE:Linux Enterprise Server 11 SP4 | freetype2 | 0 | 2.3.7-25.45.8.1 |
| SUSE:Linux Enterprise Server 11 SP4 | ft2demos | 0 | 2.3.7-25.45.8.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | freetype2 | 0 | 2.3.7-25.45.8.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | ft2demos | 0 | 2.3.7-25.45.8.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | freetype2 | 0 | 2.3.7-25.45.8.1 |
| Ubuntu:14.04:LTS | freetype | 0 | 2.5.2-1ubuntu2.7 |
| Ubuntu:16.04:LTS | freetype | 0 | 2.6.1-0.1ubuntu2.2 |
Related vulnerabilities
- CVE-2017-8105 FreeType 2 before 2017-03-24 has an out-of-bounds write caused by a heap-based buffer… Also affects freetype2
- CVE-2016-10244 The parse_charstrings function in type1/t1load.c in FreeType 2 before 2.7 does not ensure… Also affects freetype2
- CVE-2014-9745 The parse_encoding function in type1/t1load.c in FreeType before 2.5.3 allows remote… Also affects freetype2
- 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-9383 FreeType before 2.6.2 has a heap-based buffer over-read in tt_cmap14_validate in… Also affects freetype
- CVE-2014-9656 The tt_sbit_decoder_load_image function in sfnt/ttsbit.c in FreeType before 2.5.4 does… Also affects freetype
- CVE-2026-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-787
- CVE-2026-112397 Pillow is a Python imaging library. CWE-787