OSVDB ID: 4078

Title: Microsoft IE Cross Frame Scripting Restriction Bypass

Info

Disclosure

Feb 27, 2004

Discovery

Unknown

Dates

Exploit

Feb 27, 2004

Solution

Unknown

Description

Microsoft Internet Explorer contains a flaw that may allow a malicious user to bypass certain frame restrictions (aka Cross Frame Scripting aka XFS). The issue is triggered when access validation errors occur within event handling routines. Malicious JavaScript loaded in a parent frame can then record the keyboard events of child frames.

Classification

Location: Remote / Network Access
Attack Type: Input Manipulation, Other
Impact: Loss of Integrity
Exploit: Exploit Public
Disclosure: OSVDB Verified

Solution

Currently, there are no known upgrades or patches to correct this issue. It is possible to correct the flaw by implementing the following workarounds: You must implement two workarounds in order to fully protect your sensitive forms from any XFS attack scenario. Workaround Part 1: The following piece of JavaScript should be loaded on the top of all sensitive forms (login, forgot password, registration etc.). This JavaScript will prevent parent frames from loading your sensitive forms into a child frame. if (top != self) { top.location=self.location; } Workaround Part 2: Internet Explorer 6.x has a little known feature that allows parents frames to call child frames and put them into the restricted zone by specifying security="restricted" in the frame src code. By loading the frame into the restricted zone this disables cookies and active scripting for that child frame. Example: <frame src="http://www.osvdb.org" scrolling="auto" security="restricted"> Due to this feature the workaround implemented in part 1 is disabled and thus the JavaScript code is not effective in breaking out of the child frame. The parent frame however still has the ability to use scripting code thus malicious JavaScript can record the keyboard events of the child frame. Applications can protect against this by implementing one of two things. All sensitive forms should do a cookie check to ensure that cookies are enabled in the client browser before displaying the sensitive forms to the user. If the form is loaded into a child frame and placed into the restricted zone the cookie check will fail because cookies are disabled in the restricted zone. Redirect the user if cookies are disabled to an error message saying cookies are a requirement of the use of your application. OR Another alternative is to write your sensitive form fields using JavaScript. If the child frame is infact loaded in a restricted zone, the sensitive form would not build because active scripting is disabled in this zone. This requires a lot more code for each sensitive form you are trying to protect. Note: Microsoft has stated that Internet Explorer 7 will not be available to users who are on the Windows 2000 and below platforms. This means users on these platforms will be using Internet Explorer 6 and be vulnerable to these types of attacks.

Products

Microsoft Corporation

Internet Explorer

5.01
5.5
6

References

Credit

Unknown or Incomplete



Direct URL: http://osvdb.org/4078