{"vuid":"VU#218395","idnumber":"218395","name":"CUPS integer overflow vulnerability","keywords":["CUPS","integer overflow","heap-based buffer overflow","filter/image-png.c","PNG files","filter/image-zoom.c","DoS","memory corruption"],"overview":"CUPS contains an integer overflow that may allow a remote attacker to cause a vulnerable system to crash.","clean_desc":"The Common Unix Printing System (CUPS) is a print server that is used and distributed by many Unix-like operating systems. CUPS contains an integer overflow vulnerability that occurs in its image processing library. From the CUPS bug tracker: 1)filter/image-png.c img->xsize * img->ysize may overflow (CUPS_IMAGE_MAX_WIDTH and CUPS_IMAGE_MAX_HEIGHT are too big for multiplication). malloc(img->xsize * img->ysize * 3) can result in a buffer that's too small. Also, the return codes of alot of the mallocs aren't checked, when a NULL pointer is passed to png_read_row, it may be possible to corrupt memory this way as well. I have a .png that does this.","impact":"Users who obtain CUPS from their operating system vendor should see the systems affected portion of this document for a partial list of affected vendors.","resolution":"Upgrade\nVersions newer than 1.3.7 available from the CUPS SVN server have applied a fix to address this issue. Users who obtain CUPS from their operating system vendor should see the systems affected portion of this document for more details.","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":"","author":"This document was written by Dean Reges.","public":["http://www.cups.org/str.php?L2790","http://www.cups.org/software.php","http://www.cups.org/documentation.php/man-cupsd.conf.html","https://www.securecoding.cert.org/confluence/display/seccode/INT32-C.+Ensure+that+operations+on+signed+integers+do+not+result+in+overflow","http://en.wikipedia.org/wiki/Integer_overflow"],"cveids":["CVE-2008-1722"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2008-04-16T14:57:45Z","publicdate":"2008-04-15T00:00:00Z","datefirstpublished":"2008-04-25T15:48:57Z","dateupdated":"2008-04-30T15:38:26Z","revision":41,"vrda_d1_directreport":"0","vrda_d1_population":"3","vrda_d1_impact":"2","cam_widelyknown":"20","cam_exploitation":"10","cam_internetinfrastructure":"7","cam_population":"10","cam_impact":"3","cam_easeofexploitation":"20","cam_attackeraccessrequired":"20","cam_scorecurrent":"8.325","cam_scorecurrentwidelyknown":"8.325","cam_scorecurrentwidelyknownexploited":"10.575","ipprotocol":"tcp","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":8.325,"vulnote":null}