search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Microsoft Internet Explorer does not properly validate URL sources

Vulnerability Note VU#771604

Original Release Date: 2003-11-18 | Last Revised: 2004-04-02

Overview

Microsoft Internet Explorer (IE) does not properly determine the source of script used in URLs. An attacker could exploit this vulnerability to evaluate script in different security domains. By causing script to be evaluated in the Local Machine Zone, the attacker could execute arbitrary code with the privileges of the user running IE.

Description

IE uses a cross-domain security model to maintain separation between browser frames from different sources. This model is designed to prevent code in one domain from accessing data in a different domain. From Microsoft Security Bulletin MS03-048:

One of the principal security functions of a browser is to ensure that browser windows that are under the control of different Web sites cannot interfere with each other or access each other's data, while allowing windows from the same site to interact with each other. To differentiate between cooperative and uncooperative browser windows, the concept of a "domain" has been created. A domain is a security boundary - any open windows within the same domain can interact with each other, but windows from different domains cannot. The cross-domain security model is the part of the security architecture that keeps windows from different domains from interfering with each other.
IE can evaluate script contained in a URL. For example, either of the following URLs will display an alert dialog containing the text "Hello world.":

javascript:eval('alert("Hello world.")')

javascript:alert("Hello world.")

This URL will display an alert dialog with the contents of the HTTP cookie for the current site:

javascript:alert(document.cookie)

It is possible that vbscript: protocol URLs are similarly affected.

The cross-domain security model should not allow script from one domain to read or modify data in a different domain using this type of URL. There are, however, several cases in which the cross-domain security model does not properly validate the source domain of the URL. Three general attack techniques have been publicly reported:

    • Open a frame with a crafted javascript: URL (thus caching it in the URL history list), open a page in target domain in the frame, and then access the cached URL in the same frame (WsOpenJpuInHistory, RefBack, NAFjpuInHistory, BackMyParent, BackMyParent2)
    • Use an IFRAME element or BASE href to store a target domain or crafted javascript: URL, open a frame in the target domain, and then reference the URL in the same frame (WsBASEjpu, WsFakeSrc)
    • Open a frame in the target domain, then reference the frame with a crafted URL using the file: protocol (VU#652452) (NAFfileJPU, WsOpenFileJPU, file protocol proxy)

An attacker could exploit this vulnerability using a crafted HTML document containing script. The IE DHTML Object Model supports references to specific frames using the TARGET attribute (or property). Using known TARGET values such as _search or _media, an attacker can cause arbitrary HTML (including script) to be evaluated in the Local Machine Zone. Also, due to the way IE determines the MIME type of a file referenced by a URL, an HTML document may not necessarily have the expected file name extension (.html or .htm). There have been several public incident reports of systems being compromised via this vulnerability.

Any program that uses the WebBrowser ActiveX control or the IE HTML rendering engine (MSHTML) may be affected by this vulnerability. Outlook and Outlook Express are affected; however, recent versions of these programs open mail in the Restricted Sites Zone where ActiveX controls and Active scripting are disabled by default.

This vulnerability is referenced in MS03-048 as the Script URLs Cross Domain Vulnerability (CAN-2003-0816).

Impact

By convincing a victim to view an HTML document (web page, HTML email), an attacker could evaluate script in a different security domain than the one containing the attacker's document. By causing script to be evaluated in the Local Machine Zone, the attacker could execute arbitrary code with the privileges of the user running IE. The attacker could also read or modify data in other web sites (read cookies/content, modify/create content, etc.).

Solution

Apply patch
Apply the patch (824145) referenced in Microsoft Security Bulletin MS03-048 or a more recent IE cumulative patch.


Disable Active scripting and ActiveX controls

Disable Active scripting and ActiveX controls for untrusted sites. At a minimum, disable Active scripting in the Internet zone and the zone used by Outlook, Outlook Express, or any other software that uses the WebBrowser ActiveX control or the IE HTML rendering engine (MSHTML). Instructions for disabling Active scripting and ActiveX controls can be found in the CERT/CC Malicious Web Scripts FAQ.

Apply the Outlook Email Security Update

Another way to effectively disable Active scripting and ActiveX controls in Outlook is to install the Outlook Email Security Update. The update configures Outlook to open email messages in the Restricted Sites Zone, where Active scripting and ActiveX controls are disabled by default. In addition, the update provides further protection against malicious code that attempts to propagate via Outlook. The Outlook Email Security Update is available for Outlook 98 and Outlook 2000. The functionality of the Outlook Email Security Update is included in Outlook 2002 and Outlook Express 6.

Maintain updated antivirus software

Antivirus software with updated virus definitions may identify and prevent some exploit attempts. Variations of exploits or attack vectors may not be detected. Do not rely on antivirus software to defend against this vulnerability. The CERT/CC maintains a partial list of antivirus vendors.

Use a different web browser

There are a number of significant vulnerabilities in technologies relating to the IE domain/zone security model, MIME type determination, and ActiveX. It is possible to reduce exposure to these vulnerabilities by using a different web browser. Such a decision may, however, reduce the functionality of sites that require IE-specific features such as DHTML, VBScript, and ActiveX. Note that using a different web browser will not remove IE from a Windows system, and other programs may invoke IE, the WebBrowser ActiveX control, or the HTML rendering engine (MSHTML).

Vendor Information

771604
 

Microsoft Corporation Affected

Updated:  November 13, 2003

Status

Affected

Vendor Statement

We have not received a statement from the vendor.

Vendor Information

The vendor has not provided us with any further information regarding this vulnerability.

Addendum

Please see Microsoft Security Bulletin MS03-048.

If you have feedback, comments, or additional information about this vulnerability, please send us email.


CVSS Metrics

Group Score Vector
Base
Temporal
Environmental

References

Acknowledgements

A number of variations of this vulnerability were publicly reported by Liu Die Yu. Thanks to Microsoft and Thor Larholm for information used in this document.

This document was written by Art Manion.

Other Information

CVE IDs: CVE-2003-0816
Severity Metric: 45.11
Date Public: 2003-09-10
Date First Published: 2003-11-18
Date Last Updated: 2004-04-02 16:26 UTC
Document Revision: 100

Sponsored by CISA.