Cloudanix VulnDB

CVE-2017-11568

High · 7.8

CVSS

7.8

EPSS

1.4%

Published

Jul 23, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A font design program can be made to crash or run attacker code when it opens a specially made font file, putting any computer that handles untrusted fonts at risk.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Heap-based buffer over-read in PSCharStringToSplines (psread.c) when parsing PostScript charstrings inside OpenType fonts, allowing out-of-bounds memory access that can result in denial of service or arbitrary code execution.

Why it matters to the business

Systems or workflows that render or edit fonts (design tools, document processors, build pipelines) can be crashed or compromised by a single malicious font file, leading to downtime, data loss, or full machine takeover in environments that handle untrusted fonts.

How an attack unfolds

An attacker crafts an OpenType font containing a malformed PostScript charstring, delivers the file to a victim, and waits for the victim to open the file in FontForge; the parser then performs an out-of-bounds read that can be leveraged for code execution.

How to fix it

Upgrade FontForge to a version released after 20161012 that contains the bounds check fix; if an upgrade path is unavailable, isolate FontForge from untrusted fonts and replace it with a maintained alternative in any automated pipelines.

How to confirm the fix worked

Confirm FontForge version is newer than 20161012; test by opening a known-good crafted OTF sample in a sandboxed instance and verify the process does not crash or exhibit abnormal memory access.

Typical attack path

  1. Craft malicious OTF file with oversized or malformed PostScript charstring
  2. Host or email the file to the target environment
  3. Victim opens the file directly in FontForge or via an automated font-processing workflow
  4. PSCharStringToSplines reads beyond allocated buffer
  5. Attacker-controlled data influences control flow or causes crash

How to detect it

Search application and system logs for FontForge crashes or segmentation faults triggered by OTF file opens; inspect process memory dumps for evidence of out-of-bounds reads during PSCharStringToSplines calls.

  • FontForge process crash on OTF open
  • psread.c:PSCharStringToSplines in stack trace
  • heap buffer over-read in font parsing

What your security team should do

  • Immediately block or sandbox any use of FontForge on untrusted font files
  • Replace FontForge in build and CI systems with a current, supported font tool
  • Add file-type sandboxing or conversion steps before any font reaches FontForge
  • Monitor EPSS trend and re-evaluate if exploit code appears

The record

FontForge 20161012 is vulnerable to a heap-based buffer over-read in PSCharStringToSplines (psread.c) resulting in DoS or code execution via a crafted otf file.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 fontforge 0 1:20170731~dfsg-1
Debian:12 fontforge 0 1:20170731~dfsg-1
Debian:13 fontforge 0 1:20170731~dfsg-1
Debian:7 fontforge 0 0.0.20120101+git-2+deb7u1
Debian:8 fontforge 0 20120731.b-5+deb8u1
Debian:9 fontforge 0 1:20161005~dfsg-4+deb9u1
Mageia:5 fontforge 0 1.0-1.20120731.10.mga5
Mageia:6 fontforge 0 20161012-4.1.mga6
SUSE:Linux Enterprise Software Development Kit 12 SP4 fontforge 0 20170731-11.8.1
Ubuntu:14.04:LTS fontforge 0 20120731.b-5ubuntu0.1
Ubuntu:16.04:LTS fontforge 0 20120731.b-7.1ubuntu0.1
Ubuntu:18.04:LTS fontforge 0 1:20170731~dfsg-1

Related vulnerabilities