CVE-2017-1000159
High · 7.8CVSS
7.8
EPSS
1.4%
Published
Nov 27, 2017
CISA due date
—
Cloudanix analysis
A flaw in a PDF viewer lets someone who already has access to your computer run hidden commands by using a tricky file name when saving as PDF.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Local command injection vulnerability allowing arbitrary command execution when a specially crafted filename is processed during PDF printing operations in affected versions.
Why it matters to the business
Attackers with local access can run unauthorized commands on systems running unpatched versions, potentially leading to data theft, system compromise, or persistence; low prevalence and age reduce immediate widespread risk but legacy installations remain exposed.
How an attack unfolds
An attacker with local access creates a file with a malicious filename containing shell metacharacters, opens it in the vulnerable application, and triggers the print-to-PDF function, causing the injected commands to execute with the privileges of the running process.
How to fix it
Upgrade to a fixed version such as evince commit 26d63918f38ba114aeca95ca8eb31b94561b6303 or later equivalent releases beyond 3.25.91; apply vendor patches promptly for all affected packages including any downstream etcd-3.4 instances.
How to confirm the fix worked
Verify installed version against fixed releases, test PDF printing with sample filenames containing metacharacters in a controlled environment, and confirm absence of unexpected command execution artifacts post-upgrade.
Typical attack path
- Obtain local access to a target system running an affected version
- Craft a filename containing command injection payloads
- Open the file using the vulnerable application
- Initiate print to PDF operation to trigger injection
- Execute arbitrary commands for further actions such as data exfiltration or escalation
How to detect it
Examine system logs and process execution history for unexpected shell activity triggered around PDF print operations involving the vulnerable application; review file creation events with unusual filenames containing shell characters near application process starts.
- evince process spawning shell interpreters during print operations
- filenames containing characters such as ; | & $ ` in recent file system events
- unexpected command execution logs tied to PDF export workflows
What your security team should do
- Prioritize patching all instances of the affected application to the specified fixed versions
- Review local user access controls and restrict unnecessary PDF printing capabilities
- Monitor for legacy deployments given the multi-year exposure window
- Incorporate filename sanitization checks into application hardening guidelines
The record
Command injection in evince via filename when printing to PDF. This affects versions earlier than 3.25.91.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | atril | 0 | 1.20.0-1 |
| Debian:10 | evince | 0 | 3.25.92-1 |
| Debian:11 | atril | 0 | 1.20.0-1 |
| Debian:11 | evince | 0 | 3.25.92-1 |
| Debian:12 | atril | 0 | 1.20.0-1 |
| Debian:12 | evince | 0 | 3.25.92-1 |
| Debian:13 | atril | 0 | 1.20.0-1 |
| Debian:13 | evince | 0 | 3.25.92-1 |
| Debian:7 | evince | 0 | 3.4.0-3.1+deb7u2 |
| Debian:8 | atril | 0 | 1.8.1+dfsg1-4+deb8u2 |
| Debian:8 | evince | 0 | 3.14.1-2+deb8u3 |
| Debian:9 | evince | 0 | 3.22.1-3+deb9u2 |
| Mageia:5 | evince | 0 | 3.14.2-2.1.mga5 |
| Mageia:6 | evince | 0 | 3.24.1-2.mga6 |
| SUSE:Linux Enterprise Desktop 12 SP3 | evince | 0 | 3.20.2-6.22.9 |
| SUSE:Linux Enterprise Server 11 SP4 | evince | 0 | 2.28.2-0.7.3.1 |
| SUSE:Linux Enterprise Server 12 SP3 | evince | 0 | 3.20.2-6.22.9 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | evince | 0 | 2.28.2-0.7.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | evince | 0 | 3.20.2-6.22.9 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | evince | 0 | 2.28.2-0.7.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | evince | 0 | 3.20.2-6.22.9 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | evince | 0 | 3.20.2-6.22.9 |
| Ubuntu:14.04:LTS | evince | 0 | 3.10.3-0ubuntu10.4 |
| Ubuntu:16.04:LTS | atril | 0 | 1.12.2-1ubuntu0.3 |
| Ubuntu:16.04:LTS | evince | 0 | 3.18.2-1ubuntu4.3 |
Related vulnerabilities
- CVE-2006-5864 Stack-based buffer overflow in the ps_gettext function in ps.c for GNU gv 3.6.2, and… Also affects evince
- CVE-2017-1000083 backend/comics/comics-document.c (aka the comic book backend) in GNOME Evince before… Also affects atril
- CVE-2010-2642 Heap-based buffer overflow in the AFM font parser in the dvi-backend component in Evince… Also affects evince
- CVE-2026-96376 Improper Neutralization of Special Elements used in an OS Command ("OS Command… CWE-78
- CVE-2026-113732 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-113776 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-113726 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-113725 virtualenv is a tool for creating isolated virtual python environments. CWE-78