{"vuid":"VU#946969","idnumber":"946969","name":"Perl programs providing user-controlled I/O format strings may contain format string vulnerabilities","keywords":["Perl programs","user-controlled format string","sprintf()","printf()"],"overview":"Programs written in Perl may contain many of the same types of format string vulnerabilities as programs written in C.","clean_desc":"Perl is a programming language used in many applications and commonly used for web applications. It provides many of the same functions for formatted I/O as C, including sprintf() and printf(). As a result, programs written Perl may contain format string vulnerabilities similar to the types of format string vulnerabilities found in C programs. Note: Although there has been increased interest in this issue recently, it has been known since at least 2002 that programs written in Perl may contain format string vulnerabilities.","impact":"Perl programs that pass user data to routines that subsequently use that data as a format string may be vulnerable. Such routines include, but are not limited to, printf(), sprintf(), and syslog().","resolution":"Repair Perl Program Programs written in Perl that contain format string vulnerabilities should be changed to not include user data in format strings. Taint Mode Perl provides a \"taint\" mode (-T) that may detect format strings that include user data. However, taint mode will not catch all format string vulnerabilities and, when it  does detect an error, the program will be terminated. Thus, taint mode may stop a vulnerability from allowing an attacker to execute arbitrary code, but such a vulnerability can still be used to terminate the program.","workarounds":"","sysaffected":"","thanks":"This vulnerability was reported to CERT/CC by Steve Christey of \nMITRE","author":"This document was written by Hal Burch.","public":["h","t","t","p",":","/","/","a","r","c","h","i","v","e","s",".","n","e","o","h","a","p","s","i","s",".","c","o","m","/","a","r","c","h","i","v","e","s","/","f","u","l","l","d","i","s","c","l","o","s","u","r","e","/","2","0","0","5","-","1","2","/","0","0","6","6",".","h","t","m","l"],"cveids":[""],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2002-10-02T15:17:31Z","publicdate":"2005-12-05T00:00:00Z","datefirstpublished":"2005-12-06T16:42:10Z","dateupdated":"2006-01-05T00:21:08Z","revision":26,"vrda_d1_directreport":"","vrda_d1_population":"","vrda_d1_impact":"","cam_widelyknown":"20","cam_exploitation":"0","cam_internetinfrastructure":"10","cam_population":"20","cam_impact":"18","cam_easeofexploitation":"4","cam_attackeraccessrequired":"17","cam_scorecurrent":"13.77","cam_scorecurrentwidelyknown":"13.77","cam_scorecurrentwidelyknownexploited":"22.95","ipprotocol":"","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":13.77,"vulnote":null}