{"vuid":"VU#446897","idnumber":"446897","name":"CUPS buffer overflow vulnerability","keywords":["CUPS","arbitrary code execution","textWithLanguage","nameWithLanguage","apple-2007-009"],"overview":"The Common Unix Printing System contains a buffer overflow vulnerability. This vulnerability may allow a remote attacker to execute arbitrary code.","clean_desc":"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 4.1.1.2 and nameWithLanguage is defined in section 4.1.2.2. 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.","impact":"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.","resolution":"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.","workarounds":"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.","sysaffected":"","thanks":"This vulnerability was published in Secunia Advisory 2007-76.","author":"This document was written by Ryan Giobbi.","public":["http://www.cups.org/articles.php?L508","http://secunia.com/secunia_research/2007-76/advisory/","http://www.cups.org/documentation.php/spec-design.html","http://www.cups.org/documentation.php/man-cupsd.conf.html","http://tools.ietf.org/html/rfc2910#section-3.5","http://en.opensuse.org/AppArmor_Geeks","http://www.cups.org/articles.php?L508","http://www.nsa.gov/selinux/info/faq.cfm","http://docs.info.apple.com/article.html?artnum=307179"],"cveids":["CVE-2007-4351"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2007-10-31T18:42:36Z","publicdate":"2007-10-31T00:00:00Z","datefirstpublished":"2007-11-01T12:30:09Z","dateupdated":"2007-12-18T18:24:14Z","revision":23,"vrda_d1_directreport":"0","vrda_d1_population":"3","vrda_d1_impact":"3","cam_widelyknown":"15","cam_exploitation":"0","cam_internetinfrastructure":"5","cam_population":"11","cam_impact":"15","cam_easeofexploitation":"12","cam_attackeraccessrequired":"16","cam_scorecurrent":"11.88","cam_scorecurrentwidelyknown":"14.85","cam_scorecurrentwidelyknownexploited":"26.73","ipprotocol":"udp","cvss_accessvector":"","cvss_accesscomplexity":"","cvss_authentication":null,"cvss_confidentialityimpact":"","cvss_integrityimpact":"","cvss_availabilityimpact":"","cvss_exploitablity":null,"cvss_remediationlevel":"","cvss_reportconfidence":"","cvss_collateraldamagepotential":"","cvss_targetdistribution":"","cvss_securityrequirementscr":"","cvss_securityrequirementsir":"","cvss_securityrequirementsar":"","cvss_basescore":"","cvss_basevector":"","cvss_temporalscore":"","cvss_environmentalscore":"","cvss_environmentalvector":"","metric":11.88,"vulnote":null}