Cloudanix VulnDB

CVE-2016-1521

High · 8.8

CVSS

8.8

EPSS

4.1%

Published

Feb 13, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how certain fonts are handled can let attackers take over a computer or crash programs when a victim opens a specially made font file.

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

What it actually does

Out-of-bounds read in the directrun function due to missing validation of a skip operation, enabling memory corruption that can lead to arbitrary code execution, information disclosure, or application crash.

Why it matters to the business

Remote attackers can compromise affected systems through crafted fonts, resulting in full system takeover, data theft, or service disruption; the flaw remains relevant in legacy or embedded font rendering components despite its age.

How an attack unfolds

An attacker creates a specially crafted Graphite smart font containing an invalid skip operation. The victim is tricked into rendering the font (for example by visiting a malicious web page or opening a document), triggering the vulnerable directrun function and resulting in memory corruption that the attacker leverages for code execution or denial of service.

How to fix it

Upgrade affected packages to the fixed versions: k8ssandra-operator-fips (Chainguard) 1.13.0-r1 and k8ssandra-operator-fips-compat (Chainguard) 1.13.0-r1. Disable Graphite font rendering if the component cannot be updated.

How to confirm the fix worked

Verify installed package versions match or exceed the stated fixed releases; test font rendering with known-good and known-bad Graphite fonts in a controlled environment to confirm absence of the skip-operation flaw.

Typical attack path

  1. Craft malicious Graphite smart font with invalid skip operation
  2. Host font on attacker-controlled site or embed in document
  3. Lure victim into rendering the font via browser or application
  4. Trigger out-of-bounds read leading to memory corruption
  5. Leverage corruption for code execution, data leak, or crash

How to detect it

Search browser and application crash logs for Graphite-related faults around the time of suspected exposure; examine web proxy logs for delivery of unusual .ttf or .graphite font files from untrusted sources.

What your security team should do

  • Immediately update to the listed fixed package versions
  • Scan all systems for remaining vulnerable Graphite 2 versions
  • Block or sandbox untrusted font files at email and web gateways
  • Review logs for any historical crash or memory-error events tied to font processing

The record

The directrun function in directmachine.cpp in Libgraphite in Graphite 2 1.2.4, as used in Mozilla Firefox before 43.0 and Firefox ESR 38.x before 38.6.1, does not validate a certain skip operation, which allows remote attackers to execute arbitrary code, obtain sensitive information, or cause a denial of service (out-of-bounds read and application crash) via a crafted Graphite smart font.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 graphite2 0 1.3.5-1
Debian:12 graphite2 0 1.3.5-1
Debian:13 graphite2 0 1.3.5-1
Debian:7 graphite2 0 1.3.5-1~deb7u1
Debian:8 graphite2 0 1.3.5-1~deb8u1
Mageia:5 firefox 0 38.6.1-1.mga5
Mageia:5 firefox-l10n 0 38.6.1-1.mga5
Mageia:5 graphite2 0 1.3.5-1.mga5
Mageia:5 thunderbird 0 38.6.0-1.mga5
Mageia:5 thunderbird-l10n 0 38.6.0-1.mga5
Red Hat:enterprise_linux:5::client firefox 0 0:38.6.1-1.el5_11
Red Hat:enterprise_linux:5::client firefox-debuginfo 0 0:38.6.1-1.el5_11
Red Hat:enterprise_linux:5::client thunderbird 0 0:38.6.0-1.el5_11
Red Hat:enterprise_linux:5::client thunderbird-debuginfo 0 0:38.6.0-1.el5_11
Red Hat:enterprise_linux:5::server firefox 0 0:38.6.1-1.el5_11
Red Hat:enterprise_linux:5::server firefox-debuginfo 0 0:38.6.1-1.el5_11
Red Hat:enterprise_linux:6::client firefox 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::client firefox-debuginfo 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::client thunderbird 0 0:38.6.0-1.el6_7
Red Hat:enterprise_linux:6::client thunderbird-debuginfo 0 0:38.6.0-1.el6_7
Red Hat:enterprise_linux:6::computenode firefox 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::computenode firefox-debuginfo 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::server firefox 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::server firefox-debuginfo 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::server thunderbird 0 0:38.6.0-1.el6_7
Red Hat:enterprise_linux:6::server thunderbird-debuginfo 0 0:38.6.0-1.el6_7
Red Hat:enterprise_linux:6::workstation firefox 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::workstation firefox-debuginfo 0 0:38.6.1-1.el6_7
Red Hat:enterprise_linux:6::workstation thunderbird 0 0:38.6.0-1.el6_7
Red Hat:enterprise_linux:6::workstation thunderbird-debuginfo 0 0:38.6.0-1.el6_7
Red Hat:enterprise_linux:7::client firefox 0 0:38.6.1-1.el7_2
Red Hat:enterprise_linux:7::client firefox-debuginfo 0 0:38.6.1-1.el7_2
Red Hat:enterprise_linux:7::client graphite2 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::client graphite2-debuginfo 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::client graphite2-devel 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::client thunderbird 0 0:38.6.0-1.el7_2
Red Hat:enterprise_linux:7::client thunderbird-debuginfo 0 0:38.6.0-1.el7_2
Red Hat:enterprise_linux:7::computenode graphite2 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::computenode graphite2-debuginfo 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::computenode graphite2-devel 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::server firefox 0 0:38.6.1-1.el7_2
Red Hat:enterprise_linux:7::server firefox-debuginfo 0 0:38.6.1-1.el7_2
Red Hat:enterprise_linux:7::server graphite2 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::server graphite2-debuginfo 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::server graphite2-devel 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::server thunderbird 0 0:38.6.0-1.el7_2
Red Hat:enterprise_linux:7::server thunderbird-debuginfo 0 0:38.6.0-1.el7_2
Red Hat:enterprise_linux:7::workstation firefox 0 0:38.6.1-1.el7_2
Red Hat:enterprise_linux:7::workstation firefox-debuginfo 0 0:38.6.1-1.el7_2
Red Hat:enterprise_linux:7::workstation graphite2 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::workstation graphite2-debuginfo 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::workstation graphite2-devel 0 0:1.3.6-1.el7_2
Red Hat:enterprise_linux:7::workstation thunderbird 0 0:38.6.0-1.el7_2
Red Hat:enterprise_linux:7::workstation thunderbird-debuginfo 0 0:38.6.0-1.el7_2
Red Hat:rhel_productivity:5 thunderbird 0 0:38.6.0-1.el5_11
Red Hat:rhel_productivity:5 thunderbird-debuginfo 0 0:38.6.0-1.el5_11
SUSE:Linux Enterprise Desktop 12 graphite2 0 1.3.1-6.1
SUSE:Linux Enterprise Desktop 12 SP1 graphite2 0 1.3.1-6.1
SUSE:Linux Enterprise Server 12 graphite2 0 1.3.1-6.1
SUSE:Linux Enterprise Server 12 SP1 graphite2 0 1.3.1-6.1
SUSE:Linux Enterprise Server for SAP Applications 12 graphite2 0 1.3.1-6.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 graphite2 0 1.3.1-6.1
SUSE:Linux Enterprise Software Development Kit 12 graphite2 0 1.3.1-6.1
SUSE:Linux Enterprise Software Development Kit 12 SP1 graphite2 0 1.3.1-6.1
Ubuntu:14.04:LTS graphite2 0 1.2.4-1ubuntu1.1
Ubuntu:16.04:LTS graphite2 0 1.3.5-1ubuntu1

Related vulnerabilities