CVE-2015-8560
High · 7.3CVSS
7.3
EPSS
5.3%
Published
Apr 14, 2016
CISA due date
—
Cloudanix analysis
A flaw in older printing software lets attackers run their own commands on a computer by sending a specially made print job.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Incomplete input sanitization in foomatic-rip allows a semicolon in print job data to break out of the intended command and execute arbitrary shell commands with the privileges of the printing process.
Why it matters to the business
Attackers can gain remote code execution on print servers or workstations handling untrusted jobs, potentially leading to system compromise, lateral movement, or data exposure in environments that still run the affected packages.
How an attack unfolds
An attacker crafts a print job containing a semicolon followed by arbitrary commands in a field processed by foomatic-rip; the incomplete blacklist fails to neutralize the delimiter, resulting in the injected commands being executed by the shell invoked during job processing.
How to fix it
Upgrade cups-filters to version 1.4.0 or later and foomatic-filters to a patched release that fully removes the vulnerable util.c code path; disable the foomatic-rip filter if printing is not required.
How to confirm the fix worked
Verify installed package versions against the 1.4.0 threshold, review print job processing logs for evidence of command execution, and test with a benign semicolon-containing job in a lab environment to confirm the filter no longer spawns unexpected processes.
Typical attack path
- Identify a network-exposed CUPS or foomatic print queue accepting jobs from untrusted sources.
- Submit a malicious print job embedding a semicolon and shell commands in a job attribute or filename.
- foomatic-rip processes the job and passes the unsanitized string to a shell, executing the injected commands.
- Attacker receives command output or establishes a foothold on the host running the vulnerable filter.
How to detect it
Search CUPS error_log and access_log for print job submissions containing semicolons or unusual shell metacharacters; inspect process creation logs on print servers for child processes spawned by foomatic-rip that are not standard filter binaries.
- foomatic-rip.*;.*sh
- print job containing semicolon followed by shell syntax
- unexpected /bin/sh child of foomatic-rip
What your security team should do
- Prioritize patching all instances of cups-filters and foomatic-filters to the fixed releases.
- Restrict print job submission to authenticated and trusted sources only.
- Monitor for any remaining legacy foomatic installations and plan migration to modern printing stacks.
The record
Incomplete blacklist vulnerability in util.c in foomatic-rip in cups-filters 1.0.42 before 1.4.0 and in foomatic-filters in Foomatic 4.0.x allows remote attackers to execute arbitrary commands via a ; (semicolon) character in a print job, a different vulnerability than CVE-2015-8327.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | cups-filters | 0 | 1.4.0-1 |
| Debian:11 | foomatic-filters | 0 | 4.0.17-7 |
| Debian:12 | cups-filters | 0 | 1.4.0-1 |
| Debian:12 | foomatic-filters | 0 | 4.0.17-7 |
| Debian:13 | cups-filters | 0 | 1.4.0-1 |
| Debian:13 | foomatic-filters | 0 | 4.0.17-7 |
| Debian:6.0 | foomatic-filters | 0 | 4.0.5-6+squeeze2+deb6u12 |
| Debian:7 | foomatic-filters | 0 | 4.0.17-1+deb7u1 |
| Debian:8 | cups-filters | 0 | 1.0.61-5+deb8u3 |
| Debian:8 | foomatic-filters | 0 | 4.0.17-5+deb8u1 |
| Mageia:5 | cups-filters | 0 | 1.0.71-1.2.mga5 |
| Red Hat:enterprise_linux:6::client | foomatic | 0 | 0:4.0.4-5.el6_7 |
| Red Hat:enterprise_linux:6::client | foomatic-debuginfo | 0 | 0:4.0.4-5.el6_7 |
| Red Hat:enterprise_linux:6::computenode | foomatic | 0 | 0:4.0.4-5.el6_7 |
| Red Hat:enterprise_linux:6::computenode | foomatic-debuginfo | 0 | 0:4.0.4-5.el6_7 |
| Red Hat:enterprise_linux:6::server | foomatic | 0 | 0:4.0.4-5.el6_7 |
| Red Hat:enterprise_linux:6::server | foomatic-debuginfo | 0 | 0:4.0.4-5.el6_7 |
| Red Hat:enterprise_linux:6::workstation | foomatic | 0 | 0:4.0.4-5.el6_7 |
| Red Hat:enterprise_linux:6::workstation | foomatic-debuginfo | 0 | 0:4.0.4-5.el6_7 |
| SUSE:Linux Enterprise Desktop 11 SP3 | foomatic-filters | 0 | 3.0.2-269.39.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | foomatic-filters | 0 | 3.0.2-269.39.1 |
| SUSE:Linux Enterprise Server 11 SP3 | foomatic-filters | 0 | 3.0.2-269.39.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | foomatic-filters | 0 | 3.0.2-269.39.1 |
| SUSE:Linux Enterprise Server 11 SP4 | foomatic-filters | 0 | 3.0.2-269.39.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | foomatic-filters | 0 | 3.0.2-269.39.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | foomatic-filters | 0 | 3.0.2-269.39.1 |
| Ubuntu:14.04:LTS | cups-filters | 0 | 1.0.52-0ubuntu1.7 |
| Ubuntu:14.04:LTS | foomatic-filters | 0 | 4.0.17-1+deb7u1ubuntu0.14.04.1 |
| Ubuntu:16.04:LTS | cups-filters | 0 | 1.4.0-1 |
| Ubuntu:16.04:LTS | foomatic-filters | 0 | 4.0.17-7 |
| openSUSE:Tumbleweed | cups-filters | 0 | 1.8.2-1.11 |
Related vulnerabilities
- CVE-2024-47850 CUPS cups-browsed before 2.5b1 will send an HTTP POST request to an arbitrary destination… Also affects cups-filters
- CVE-2024-47176 CUPS is a standards-based, open-source printing system, and `cups-browsed` contains… Also affects cups-filters
- CVE-2024-47076 CUPS is a standards-based, open-source printing system, and `libcupsfilters` contains the… Also affects cups-filters
- CVE-2024-47175 CUPS is a standards-based, open-source printing system, and `libppd` can be used for… Also affects cups-filters
- CVE-2024-47177 CUPS is a standards-based, open-source printing system, and cups-filters provides… Also affects cups-filters
- CVE-2015-8327 Incomplete blacklist vulnerability in util.c in foomatic-rip in cups-filters 1.0.42… Also affects cups-filters
- CVE-2015-3258 Heap-based buffer overflow in the WriteProlog function in filter/texttopdf.c in texttopdf… Also affects cups-filters
- CVE-2015-2265 The remove_bad_chars function in utils/cups-browsed.c in cups-filters before 1.0.66… Also affects cups-filters