Vulnerability Note VU#446897

CUPS buffer overflow vulnerability

Original Release date: 01 Nov 2007 | Last revised: 18 Dec 2007


The Common Unix Printing System contains a buffer overflow vulnerability. This vulnerability may allow a remote attacker to execute arbitrary code.


The Common Unix Printing System (CUPS) is a printing service used by many Linux and Unix operating systems. CUPS uses a print scheduling process that dispatches print jobs and provides the printer's status to local and remote programs.

The Internet Printing Protocol (IPP) is a standard protocol that defines printing and managing print ques. As specified in RFC 2910, the IPP transport layer consists of an HTTP/1.1 request or response. Section 3.5 of RFC 2910 specifies two different types of tags that can either delimit sections of protocols (delimiter tags) or specify the type of each attribute value (value tags). textWithLanguage tags are defined in section and nameWithLanguage is defined in section

Per Secunia Advisory 2007-76:

    Secunia Research has discovered a vulnerability in CUPS, which can be exploited by malicious people to compromise a vulnerable system.

    The vulnerability is caused due to a boundary error within the "ippReadIO()" function in cups/ipp.c when processing IPP (Internet Printing Protocol) tags. This can be exploited to overwrite one byte on the stack with a zero by sending an IPP request containing specially crafted "textWithLanguage" or "nameWithLanguage" tags.

    Successful exploitation allows execution of arbitrary code.


A remote, unauthenticated attacker may be able to execute arbitrary code with the privileges of the user running the CUPS server or cause the server to crash. The cupsd daemon may run with root privileges.


Administrators and users should see the systems affected portion of this document for a partial list of affected vendors. Users who compile CUPS from source should see CUPS Article #508: Common UNIX Printing System 1.3.4 for information about obtaining fixed software.

Restrict access

Restricting access to CUPS servers by using the CUPS configuration directives, firewall rules, or access control lists may mitigate this vulnerability. By default, cupsd listens on port 631/udp. Systems that use CUPS exclusively for local printing should set the Listen directive to localhost:631 in the cupsd configuration file to prevent remote systems from exploiting this vulnerability.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
CUPS, the Common UNIX Printing SystemAffected-01 Nov 2007
Mandriva, Inc.Affected01 Nov 200706 Nov 2007
Red Hat, Inc.Affected01 Nov 200702 Nov 2007
SUSE LinuxAffected01 Nov 200705 Nov 2007
UbuntuAffected01 Nov 200706 Nov 2007
EMC CorporationNot Affected01 Nov 200702 Nov 2007
Hewlett-Packard CompanyNot Affected01 Nov 200705 Nov 2007
Slackware Linux Inc.Not Affected01 Nov 200702 Nov 2007
Sony CorporationNot Affected01 Nov 200702 Nov 2007
Sun Microsystems, Inc.Not Affected01 Nov 200705 Nov 2007
Apple Computer, Inc.Unknown01 Nov 200701 Nov 2007
Conectiva Inc.Unknown01 Nov 200701 Nov 2007
Cray Inc.Unknown01 Nov 200701 Nov 2007
Debian GNU/LinuxUnknown01 Nov 200701 Nov 2007
Engarde Secure LinuxUnknown01 Nov 200701 Nov 2007
If you are a vendor and your product is affected, let us know.View More »

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A



This vulnerability was published in Secunia Advisory 2007-76.

This document was written by Ryan Giobbi.

Other Information

  • CVE IDs: CVE-2007-4351
  • Date Public: 31 Oct 2007
  • Date First Published: 01 Nov 2007
  • Date Last Updated: 18 Dec 2007
  • Severity Metric: 11.88
  • Document Revision: 22


If you have feedback, comments, or additional information about this vulnerability, please send us email.