I. Description
Microsoft and L0pht Research Labs have recently published
advisories describing a vulnerability in the Microsoft Office 2000 UA
ActiveX control. Due to the severity of this vulnerability, we are
issuing a CERT advisory to help reach as broad an audience as
possible.
ActiveX Overview
ActiveX controls are highly portable Component Object Model (COM)
objects, used extensively throughout Microsoft Windows platforms, and
especially in web-based applications. COM objects, including ActiveX
controls, can invoke each other through interfaces defined by the COM
architecture. The COM architecture allows for interoperability among
binary software components produced in disparate ways.
ActiveX controls can also be invoked from web pages through the use
of a scripting language or directly with an OBJECT tag. If an ActiveX
control is not installed locally, it is possible to specify a URL
where the control can be obtained. Once obtained, the control
installs itself automatically if permitted by the browser. Once it is
installed, it can be invoked without the need to be downloaded again.
ActiveX controls can be signed or unsigned. A signed control
provides a high degree of verification that the control was produced
by the signer and has not been modified. Signing does not guarantee
the benevolence, trustworthiness, or competence of the signer; it only
provides assurance that the control originated from the signer.
ActiveX controls are binary code capable of taking any action that
the user can take. They do not run in a "sandbox" of any kind.
Because of this, it is important to have a high degree of trust in the
author of the control. The CERT/CC recommends against installing any
unsigned controls.
Controls can also be marked as "safe for scripting" indicating that
it is permissible to invoke the control from a script contained in a
web page, using data and parameters provided by that page. In
essence, a control marked "safe for scripting" is an assertion by the
author that the control has implemented its own "sandbox" and cannot
be used by an intruder to damage or compromise your system. Because
you must rely on the author of the control to implement this "sandbox"
correctly, controls marked as "safe for scripting" require an
especially high degree of trust.
ActiveX controls are managed by the Windows registry, and it is
cumbersome to audit them or examine their properties without the use
of a specialized tool. One such tool is the OLE/COM Object Viewer
(oleview.exe) included with the Windows NT Resource Kit. More
information on oleview is available at
-
http://www.microsoft.com/Com/resources/oleview.asp
More information about ActiveX and COM can be found at
-
http://www.microsoft.com/com
The Microsoft Office 2000 UA ActiveX Control
The UA ActiveX control implements the "Show Me" feature of the
interactive help system. Because the control is incorrectly marked
"safe for scripting", a malicious web author may use the UA ActiveX
control to script interactions that result in reduced security, such
as activating the dialog box for "Macro Security Setting" and
selecting the least secure choice. The control is correctly signed by
Microsoft.
Other Advisories and Information
L0pht Research Labs and @Stake Inc. published an advisory
describing this vulnerability. They also produced a proof-of-concept
exploit. These documents are available from the L0pht web site:
-
http://www.l0pht.com/advisories/msoua.txt
Microsoft has published a security bulletin, an FAQ, and a
knowledgebase article describing this vulnerability. These documents
are available from Microsoft's web site:
-
http://microsoft.com/technet/security/bulletin/ms00-034.asp
-
http://microsoft.com/technet/security/bulletin/fq00-034.asp
-
http://microsoft.com/technet/support/kb.asp?ID=262767