CVE-2017-16611
Medium · 5.5CVSS
5.5
EPSS
0.4%
Published
Dec 1, 2017
CISA due date
—
Cloudanix analysis
A local user on an older Linux desktop system could open special files in a way that disrupts hardware like tape drives or resets watchdogs, potentially causing unexpected outages until the library is updated.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Path traversal in libXfont allows a local process to open arbitrary system files as root without reading their contents, which can activate device-side effects such as tape rewinds or hardware watchdogs.
Why it matters to the business
On systems that still run the vulnerable X font library, a local user can cause unexpected hardware or service disruptions that lead to downtime or require manual intervention to restore normal operation.
How an attack unfolds
A local attacker supplies a crafted font path that traverses outside the intended directory; libXfont opens the target file with root privileges, triggering any side effects associated with that file (for example, rewinding a tape device) without needing to read its data.
How to fix it
Upgrade libXfont to the commit 7d246751628bb877e04da762ec1a2e41ffa62154 or later; rebuild and redeploy any packages that statically link or ship the library; verify that the updated library is in use before restarting X-related services.
How to confirm the fix worked
Confirm the installed libXfont shared object reports a version at or after the fixed commit; run a local test that attempts the original traversal path and verify that the open operation is denied or handled safely; monitor package managers for the corrected build.
Typical attack path
- Obtain local shell access on a system using the vulnerable libXfont library.
- Identify or create a font configuration or application that loads fonts via libXfont.
- Supply a path-traversal string that references a privileged device or special file.
- Trigger font loading so that libXfont opens the target file as root.
- Observe or rely on the resulting device-side effect (watchdog reset, tape rewind, etc.).
How to detect it
Review system logs for unexpected opens of device files (for example, /dev/st* or watchdog devices) initiated by X font or X server processes; correlate with local user sessions around the time of disruption; examine package history for the presence of pre-fix libXfont versions.
What your security team should do
- Inventory all systems that ship or link against libXfont and schedule upgrades to the fixed commit.
- Prioritize patching on multi-user or kiosk-style deployments where local access is easier to obtain.
- Remove or restrict unnecessary device nodes that could be triggered by an open operation if feasible.
- Add the fixed library version to the organization's approved baseline and update build pipelines.
The record
In libXfont before 1.5.4 and libXfont2 before 2.0.3, a local attacker can open (but not read) files on the system as root, triggering tape rewinds, watchdogs, or similar mechanisms that can be triggered by opening files.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.10 | libxfont2 | 0 | 2.0.3-r0 |
| Alpine:v3.11 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.11 | libxfont2 | 0 | 2.0.3-r0 |
| Alpine:v3.12 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.12 | libxfont2 | 0 | 2.0.3-r0 |
| Alpine:v3.13 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.14 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.15 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.16 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.17 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.7 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.7 | libxfont2 | 0 | 2.0.3-r0 |
| Alpine:v3.8 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.8 | libxfont2 | 0 | 2.0.3-r0 |
| Alpine:v3.9 | libxfont | 0 | 1.5.4-r0 |
| Alpine:v3.9 | libxfont2 | 0 | 2.0.3-r0 |
| Debian:10 | libxfont | 0 | 1:2.0.3-1 |
| Debian:11 | libxfont | 0 | 1:2.0.3-1 |
| Debian:12 | libxfont | 0 | 1:2.0.3-1 |
| Debian:13 | libxfont | 0 | 1:2.0.3-1 |
| Debian:9 | libxfont | 0 | 1:2.0.1-3+deb9u2 |
| Mageia:5 | libxfont | 0 | 1.5.1-1.2.mga5 |
| Mageia:6 | libxfont | 0 | 1.5.2-1.2.mga6 |
| Mageia:6 | libxfont2 | 0 | 2.0.1-4.2.mga6 |
| Ubuntu:14.04:LTS | libxfont | 0 | 1:1.4.7-1ubuntu0.4 |
| Ubuntu:16.04:LTS | libxfont | 0 | 1:1.5.1-1ubuntu0.16.04.4 |
| Ubuntu:16.04:LTS | libxfont2 | 0 | 1:2.0.1-3~ubuntu16.04.3 |
| openSUSE:Tumbleweed | libXfont | 0 | 1.5.4-2.18 |
| openSUSE:Tumbleweed | libXfont2 | 0 | 2.0.5-1.2 |
Related vulnerabilities
- CVE-2017-13720 In the PatternMatch function in fontfile/fontdir.c in libXfont through 1.5.2 and 2.x… Also affects libxfont
- CVE-2015-1802 The bdfReadProperties function in bitmap/bdfread.c in X.Org libXfont before 1.4.9 and… Also affects libxfont
- CVE-2014-0209 Multiple integer overflows in the (1) FontFileAddEntry and (2) lexAlias functions in… Also affects libxfont
- CVE-2013-6462 Stack-based buffer overflow in the bdfReadCharacters function in bitmap/bdfread.c in… Also affects libxfont
- CVE-2026-113724 virtualenv is a tool for creating isolated virtual python environments. CWE-59
- CVE-2026-113716 virtualenv is a tool for creating isolated virtual python environments. CWE-59
- CVE-2026-55480 OpenPrinting CUPS is an open source printing system for Linux and other Unix-like… CWE-59
- CVE-2026-90954 A flaw was found in BusyBox's dpkg-deb archive extraction. CWE-59