Cloudanix VulnDB

CVE-2017-1000083

High · 7.8

CVSS

7.8

EPSS

51.1%

Published

Sep 5, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Attend

Opening certain comic-book files can let attackers run any commands they want on the computer.

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

What it actually does

The comic book backend in Evince processes .cbt TAR archives by passing filenames directly to command-line tools without sanitization, allowing filenames beginning with '--' to inject arbitrary options and commands such as --checkpoint-action=exec=...

Why it matters to the business

Users who open malicious comic files can have arbitrary commands executed with their privileges, resulting in full system compromise, data theft, or ransomware deployment; the vulnerability has been weaponized for years and remains relevant wherever older Evince packages are still deployed.

How an attack unfolds

An attacker crafts a TAR archive whose member filename starts with a double-dash command-line option (for example --checkpoint-action=exec=bash), packages it as a .cbt file, and delivers it via email or web download; when the victim opens the file, Evince's comics backend invokes the tar utility with the malicious filename, causing the injected command to run.

How to fix it

Upgrade gnome/evince to the commit 717df38fd8509bf883b70d680c9b1b3cf36732ee or any later release that contains the fix; remove or restrict use of the comic-book backend if patching is not feasible.

How to confirm the fix worked

Confirm Evince version is at or above the fixed commit; attempt to open a test .cbt file containing a filename that begins with '--help' and verify that no extraneous output or command execution occurs; review package changelogs for the backend/comics/comics-document.c patch.

Typical attack path

  1. Create TAR archive containing a member whose name begins with '--' followed by a command option
  2. Rename archive with .cbt extension
  3. Deliver file to target via phishing, download site, or shared storage
  4. Victim opens the file in Evince
  5. Backend invokes tar with the crafted filename, executing attacker-controlled commands

How to detect it

Search endpoint process-creation logs for evince spawning child processes that contain command-line flags beginning with '--checkpoint' or '--exec'; inspect downloaded or opened files whose names end in .cbt and contain TAR member names starting with '--'; review shell history and audit logs for unexpected commands executed around the time a .cbt file was accessed.

  • evince.*--checkpoint-action
  • .cbt.*--exec=
  • tar.*--checkpoint-action=exec

What your security team should do

  • Immediately upgrade all Evince installations to the fixed commit or newer packaged release
  • Block or sandbox opening of .cbt files from untrusted sources until updates are applied
  • Hunt for historical indicators of .cbt files with leading '--' in filenames on endpoints that still run vulnerable Evince versions
  • Add Evince to the organization's priority patching list given the weaponized exploit maturity

The record

backend/comics/comics-document.c (aka the comic book backend) in GNOME Evince before 3.24.1 allows remote attackers to execute arbitrary commands via a .cbt file that is a TAR archive containing a filename beginning with a "--" command-line option substring, as demonstrated by a --checkpoint-action=exec=bash at the beginning of the filename.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 atril 0 1.16.1-2.1
Debian:11 evince 0 3.22.1-4
Debian:12 atril 0 1.16.1-2.1
Debian:12 evince 0 3.22.1-4
Debian:13 atril 0 1.16.1-2.1
Debian:13 evince 0 3.22.1-4
Debian:7 evince 0 3.4.0-3.1+deb7u1
Debian:8 atril 0 1.8.1+dfsg1-4+deb8u1
Debian:8 evince 0 3.14.1-2+deb8u2
Debian:9 atril 0 1.16.1-2+deb9u1
Debian:9 evince 0 3.22.1-3+deb9u1
Mageia:5 atril 0 1.8.1-3.1.mga5
Mageia:5 evince 0 3.14.2-1.1.mga5
Mageia:6 atril 0 1.18.0-1.1.mga6
Mageia:6 evince 0 3.24.1-1.mga6
Red Hat:enterprise_linux:7::client evince 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::client evince-browser-plugin 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::client evince-debuginfo 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::client evince-devel 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::client evince-dvi 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::client evince-libs 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::client evince-nautilus 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::server evince 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::server evince-browser-plugin 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::server evince-debuginfo 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::server evince-devel 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::server evince-dvi 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::server evince-libs 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::server evince-nautilus 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::workstation evince 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::workstation evince-browser-plugin 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::workstation evince-debuginfo 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::workstation evince-devel 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::workstation evince-dvi 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::workstation evince-libs 0 0:3.22.1-5.2.el7_4
Red Hat:enterprise_linux:7::workstation evince-nautilus 0 0:3.22.1-5.2.el7_4
SUSE:Linux Enterprise Desktop 12 SP2 evince 0 3.20.1-6.14.1
SUSE:Linux Enterprise Desktop 12 SP2 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Desktop 12 SP2 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Desktop 12 SP3 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Desktop 12 SP3 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Server 12 SP1-LTSS evince 0 3.10.3-2.3.1
SUSE:Linux Enterprise Server 12 SP2 evince 0 3.20.1-6.14.1
SUSE:Linux Enterprise Server 12 SP2 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Server 12 SP2 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Server 12 SP3 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Server 12 SP3 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Server 12-LTSS evince 0 3.10.3-2.3.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 evince 0 3.20.1-6.14.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Server for SAP Applications 12 evince 0 3.10.3-2.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 evince 0 3.10.3-2.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 evince 0 3.20.1-6.14.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Software Development Kit 12 SP2 evince 0 3.20.1-6.14.1
SUSE:Linux Enterprise Software Development Kit 12 SP2 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Software Development Kit 12 SP2 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Software Development Kit 12 SP3 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Workstation Extension 12 SP2 evince 0 3.20.1-6.14.1
SUSE:Linux Enterprise Workstation Extension 12 SP2 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Workstation Extension 12 SP2 evince 0 3.20.2-6.19.15
SUSE:Linux Enterprise Workstation Extension 12 SP3 evince 0 3.20.1-6.16.1
SUSE:Linux Enterprise Workstation Extension 12 SP3 evince 0 3.20.2-6.19.15
SUSE:OpenStack Cloud 6 evince 0 3.10.3-2.3.1
Ubuntu:14.04:LTS evince 0 3.10.3-0ubuntu10.3
Ubuntu:16.04:LTS atril 0 1.12.2-1ubuntu0.2
Ubuntu:16.04:LTS evince 0 3.18.2-1ubuntu4.1
openSUSE:Tumbleweed evince 0 40.4-1.3

Related vulnerabilities