Cloudanix VulnDB

CVE-2015-1158

None

CVSS

—

EPSS

29.7%

Published

Jun 26, 2015

CISA due date

—

Cloudanix analysis

Act now SSVC: Track

A flaw in the software that manages printers lets attackers send specially crafted requests over the network to take control of the system.

Exploit Available
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Network Service
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability is a use-after-free in cupsd's add_job function when processing multiple-value job-originating-host-name IPP attributes, allowing memory corruption that can lead to arbitrary code execution.

Why it matters to the business

Compromise of print servers can enable attackers to run malicious code, potentially disrupting printing services across an organization and providing a foothold for further network access.

How an attack unfolds

An attacker sends a crafted IPP_CREATE_JOB or IPP_PRINT_JOB request containing specially formed multiple-value job-originating-host-name attributes. This triggers incorrect free operations on reference-counted strings, resulting in memory corruption that the attacker leverages to overwrite configuration files and execute arbitrary code.

How to fix it

Upgrade CUPS to version 2.0.3 or later. If immediate upgrade is not possible, restrict network access to the CUPS service and disable remote IPP job submission where feasible.

How to confirm the fix worked

Verify the installed CUPS version is 2.0.3 or newer. Test that malformed IPP requests no longer cause crashes or configuration changes. Review cupsd logs for unexpected job-originating-host-name attribute handling.

Typical attack path

  1. Identify exposed CUPS servers listening on port 631
  2. Craft and send malicious IPP_CREATE_JOB or IPP_PRINT_JOB requests
  3. Trigger use-after-free to corrupt memory and reference-counted strings
  4. Overwrite cupsd configuration to achieve code execution
  5. Establish persistence or move laterally from the compromised print server

How to detect it

Examine cupsd access and error logs for unusual IPP job creation requests containing repeated job-originating-host-name attributes. Look for unexpected configuration file modifications or crashes in the scheduler process around the time of suspicious print jobs.

  • IPP_CREATE_JOB with multiple job-originating-host-name values
  • sudden cupsd configuration file changes
  • scheduler/ipp.c crash or memory corruption indicators

What your security team should do

  • Prioritize patching all CUPS instances to 2.0.3 or later
  • Limit exposure of CUPS services to untrusted networks
  • Monitor for exploit attempts using available public exploit code
  • Audit print server configurations for unauthorized changes

The record

The add_job function in scheduler/ipp.c in cupsd in CUPS before 2.0.3 performs incorrect free operations for multiple-value job-originating-host-name attributes, which allows remote attackers to trigger data corruption for reference-counted strings via a crafted (1) IPP_CREATE_JOB or (2) IPP_PRINT_JOB request, as demonstrated by replacing the configuration file and consequently executing arbitrary code.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 cups 0 1.7.5-12
Debian:12 cups 0 1.7.5-12
Debian:13 cups 0 1.7.5-12
Debian:6.0 cups 0 1.4.4-7+squeeze8
Debian:7 cups 0 1.5.3-5+deb7u6
Debian:8 cups 0 1.7.5-11+deb8u1
Mageia:4 cups 0 1.7.0-7.5.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-9.1
SUSE:Linux Enterprise Module for Legacy 12 cups154 0 1.5.4-9.1
SUSE:Linux Enterprise Server 12 cups 0 1.7.5-9.1
SUSE:Linux Enterprise Server for SAP Applications 12 cups 0 1.7.5-9.1
SUSE:Linux Enterprise Software Development Kit 12 cups 0 1.7.5-9.1
Ubuntu:14.04:LTS cups 0 1.7.2-0ubuntu1.6
openSUSE:Tumbleweed cups 0 2.1.3-2.3

Related vulnerabilities