CUPS: Multiple vulnerabilities
Gentoo Linux Security Advisory
||GLSA 200712-14 / cups
||December 18, 2007
||December 18, 2007: 01
All supported architectures
#199195, #201042, #201570
Multiple vulnerabilities have been discovered in CUPS, allowing for the
remote execution of arbitrary code and a Denial of Service.
CUPS provides a portable printing layer for UNIX-based operating
systems. The alternate pdftops filter is a CUPS filter used to convert
PDF files to the Postscript format via Poppler; the filter is installed
by default in Gentoo Linux.
Wei Wang (McAfee AVERT Research) discovered an integer underflow in the
asn1_get_string() function of the SNMP backend, leading to a
stack-based buffer overflow when handling SNMP responses
(CVE-2007-5849). Elias Pipping (Gentoo) discovered that the alternate
pdftops filter creates temporary files with predictable file names when
reading from standard input (CVE-2007-6358). Furthermore, the
resolution of a Denial of Service vulnerability covered in GLSA
200703-28 introduced another Denial of Service vulnerability within SSL
A remote attacker on the local network could exploit the first
vulnerability to execute arbitrary code with elevated privileges by
sending specially crafted SNMP messages as a response to an SNMP
broadcast request. A local attacker could exploit the second
vulnerability to overwrite arbitrary files with the privileges of the
user running the CUPS spooler (usually lp) by using symlink attacks. A
remote attacker could cause a Denial of Service condition via the third
vulnerability when SSL is enabled in CUPS.
To disable SNMP support in CUPS, you have have to manually delete the
file "/usr/libexec/cups/backend/snmp". Please note that the file is
reinstalled if you merge CUPS again later. To disable the pdftops
filter, delete all lines referencing "pdftops" in CUPS' "mime.convs"
configuration file. To work around the third vulnerability, disable SSL
support via the corresponding USE flag.
All CUPS users should upgrade to the latest version:
Code Listing 3.1: Resolution
# emerge --sync
# emerge --ask --oneshot --verbose ">=net-print/cups-1.2.12-r4"