iDefense Security Advisory 12.11.07: Microsoft Internet Explorer JavaScript setExpression Heap Corruption Vulnerability
iDefense Security Advisory 12.11.07
http://labs.idefense.com/intelligence/vulnerabilities/
Dec 11, 2007
I. BACKGROUND
Internet Explorer is a graphical web browser developed by Microsoft
Corp. and included as part of Microsoft Windows since 1995. The
setExpression method is commonly used to assign a JavaScript expression
to a CSS or DHTML object within a web page. For more information, visit
the following URLs.
http://www.microsoft.com/ie/
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/setexpression.asp
II. DESCRIPTION
Remote exploitation of a heap corruption vulnerability in Microsoft
Corp.'s Internet Explorer web browser allows attackers to execute
arbitrary code in the context of the current user.
The vulnerability lies in the JavaScript setExpression method, which is
implemented in mshtml.dll. When malformed parameters are supplied,
memory can be corrupted in a way that results in Internet Explorer
accessing a previously deleted object. By creating a specially crafted
web page, it is possible for an attacker to control the contents of the
memory pointed to by the released object. This allows an attacker to
execute arbitrary code.
III. ANALYSIS
Exploitation of this vulnerability would allow an attacker to execute
arbitrary code in the context of the user running Internet Explorer.
In order to exploit this vulnerability, an attacker must persuade a user
to render a malicious web page using Internet Explorer. This is usually
accomplished by providing a link to the malicious page in an e-mail or
instant message.
On Windows Vista, Internet Explorer 7 runs in "Protected Mode". Since
"Protected Mode" processes web pages with lower privileges than a
normal user, it lessens the impact of this vulnerability. However, it
does not prevent arbitrary code execution on the affected system.
IV. DETECTION
As of April 5th, 2007, iDefense testing shows that Internet Explorer 6.0
and Internet Explorer 7.0 with all available security patches are
vulnerable. Older versions of Internet Explorer may also be vulnerable.
V. WORKAROUND
Disable Active Scripting (JavaScript) to prevent exploitation of this
issue. Applying this workaround will prevent proper rendering of web
sites that rely on JavaScript.
VI. VENDOR RESPONSE
Microsoft has addressed this vulnerability within Microsoft Security
Bulletin MS07-069. For more information, consult their bulletin at the
following URL.
http://www.microsoft.com/technet/security/Bulletin/MS07-069.mspx
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-3902 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org/), which standardizes names for
security problems.
VIII. DISCLOSURE TIMELINE
05/08/2007 Initial vendor notification
05/08/2007 Initial vendor response
12/11/2007 Coordinated public disclosure
IX. CREDIT
This vulnerability was reported to iDefense by Peter Vreugdenhil
(security@xxxxxxxxxxxxxxxxxxx).
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2007 iDefense, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@xxxxxxxxxxxx for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.