CVE-2014-9679
NoneCVSS
—
EPSS
4.6%
Published
Feb 19, 2015
CISA due date
—
Cloudanix analysis
A flaw in the printing system can let attackers send a bad file that takes over the computer handling print jobs.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer underflow in cupsRasterReadPixels allows a malformed compressed raster file to trigger a buffer overflow, enabling memory corruption that can lead to arbitrary code execution or process crash.
Why it matters to the business
Attackers can remotely compromise print servers or systems handling CUPS raster processing, resulting in unauthorized access, data theft, or service disruption across Linux and Unix environments using affected CUPS versions.
How an attack unfolds
An attacker crafts a specially malformed compressed raster file and supplies it to CUPS (for example via a print job submission or file processing interface). The cupsRasterReadPixels function processes the file, the integer underflow occurs during size calculation, and the resulting buffer overflow corrupts memory, allowing the attacker to redirect execution flow or crash the daemon.
How to fix it
Upgrade CUPS to version 2.0.2 or later on all affected systems. Rebuild any custom packages or containers that embed the vulnerable CUPS code. Disable processing of untrusted raster files where feasible until patched.
How to confirm the fix worked
Verify installed CUPS version is 2.0.2 or newer via cupsd --version or package manager queries. Test with known-good and malformed raster samples in a lab environment to confirm absence of crash or overflow behavior.
Typical attack path
- Identify a CUPS instance accepting raster file input
- Craft a malformed compressed raster file that triggers the underflow
- Deliver the file through print submission, web interface, or file import
- Trigger processing in cupsRasterReadPixels
- Exploit the resulting buffer overflow for code execution or denial of service
How to detect it
Review CUPS error logs and system crash reports for segmentation faults or buffer-related errors during raster file processing. Correlate with timestamps of unexpected print job submissions from untrusted sources.
What your security team should do
- Prioritize patching all internet-facing or multi-tenant CUPS deployments immediately
- Inventory and update internal print servers and developer workstations running affected distributions
- Implement network segmentation to limit exposure of print services
- Monitor for CUPS process crashes or unexpected restarts in logs
The record
Integer underflow in the cupsRasterReadPixels function in filter/raster.c in CUPS before 2.0.2 allows remote attackers to have unspecified impact via a malformed compressed raster file, which triggers a buffer overflow.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | cups | 0 | 1.7.5-11 |
| Debian:12 | cups | 0 | 1.7.5-11 |
| Debian:13 | cups | 0 | 1.7.5-11 |
| Debian:6.0 | cups | 0 | 1.4.4-7+squeeze7 |
| Debian:7 | cups | 0 | 1.5.3-5+deb7u5 |
| Mageia:4 | cups | 0 | 1.7.0-7.4.mga4 |
| Red Hat:enterprise_linux:6::client | cups | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::client | cups-debuginfo | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::client | cups-devel | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::client | cups-libs | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::client | cups-lpd | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::client | cups-php | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::computenode | cups | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::computenode | cups-debuginfo | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::computenode | cups-devel | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::computenode | cups-libs | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::computenode | cups-lpd | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::computenode | cups-php | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::server | cups | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::server | cups-debuginfo | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::server | cups-devel | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::server | cups-libs | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::server | cups-lpd | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::server | cups-php | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | cups | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | cups-debuginfo | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | cups-devel | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | cups-libs | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | cups-lpd | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | cups-php | 0 | 1:1.4.2-67.el6_6.1 |
| Red Hat:enterprise_linux:7::client | cups | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::client | cups-client | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::client | cups-debuginfo | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::client | cups-devel | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::client | cups-filesystem | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::client | cups-ipptool | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::client | cups-libs | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::client | cups-lpd | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups-client | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups-debuginfo | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups-devel | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups-filesystem | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups-ipptool | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups-libs | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::computenode | cups-lpd | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::server | cups | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::server | cups-client | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::server | cups-debuginfo | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::server | cups-devel | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::server | cups-filesystem | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::server | cups-ipptool | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::server | cups-libs | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::server | cups-lpd | 0 | 1:1.6.3-17.ael7b_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups-client | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups-debuginfo | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups-devel | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups-filesystem | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups-ipptool | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups-libs | 0 | 1:1.6.3-17.el7_1.1 |
| Red Hat:enterprise_linux:7::workstation | cups-lpd | 0 | 1:1.6.3-17.el7_1.1 |
| SUSE:Linux Enterprise Desktop 12 | cups | 0 | 1.7.5-5.1 |
| SUSE:Linux Enterprise Module for Legacy 12 | cups154 | 0 | 1.5.4-5.1 |
| SUSE:Linux Enterprise Server 12 | cups | 0 | 1.7.5-5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | cups | 0 | 1.7.5-5.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | cups | 0 | 1.7.5-5.1 |
| Ubuntu:14.04:LTS | cups | 0 | 1.7.2-0ubuntu1.5 |
Related vulnerabilities
- CVE-2024-47176 CUPS is a standards-based, open-source printing system, and `cups-browsed` contains… Also affects cups
- CVE-2024-47076 CUPS is a standards-based, open-source printing system, and `libcupsfilters` contains the… Also affects cups
- CVE-2024-47175 CUPS is a standards-based, open-source printing system, and `libppd` can be used for… Also affects cups
- CVE-2024-47177 CUPS is a standards-based, open-source printing system, and cups-filters provides… Also affects cups
- CVE-2023-32360 An authentication issue was addressed with improved state management. Also affects cups
- CVE-2019-2228 In array_find of array.c, there is a possible out-of-bounds read due to an incorrect… Also affects cups
- CVE-2015-3258 Heap-based buffer overflow in the WriteProlog function in filter/texttopdf.c in texttopdf… Also affects cups
- CVE-2015-1158 The add_job function in scheduler/ipp.c in cupsd in CUPS before 2.0.3 performs incorrect… Also affects cups