Bugtraq mailing list archives

New ActiveX security problems in Windows 98 PCs


From: dmurray () JSBSYSTEMS COM (David N. Murray)
Date: Thu, 29 Jul 1999 20:42:29 +0000


I saw this come across comp.risks and thought it was appropriate for
Bugtraq.  I haven't seen anything about it on Bugtraq before.
-dave

Date: Thu, 22 Jul 1999 22:12:27 -0400
From: "Richard M. Smith" <smiths () tiac net>
Subject: New ActiveX security problems in Windows 98 PCs

At work, I recently started using a new HP Pavilion computer that is
running
Windows 98.  As part of ongoing research into Internet security issues,
I
discovered that this computer was shipped with 2 ActiveX controls, which
are
extremely dangerous.  These controls can be easily misused on a Web page
to
gain access to the computer and run programs. More worrisome however
script
code can be embedded in an HTML Email messages and the controls accessed
in
Outlook, Outlook Express, and Eudora.  The controls are marked "safe"
for
scripting even though they can do things like launch programs and read
and
write the Windows registry.

Using these controls, some of the malicious things that can be done
include:

   - Automatically install a computer virus or other malicious software
     on a system.

   - Turn off all Windows security checking, making a system wide-open
     for future attacks.

   - Read personal files for the local hard disk and silently upload
     them to a remote Web site.

   - Delete document files from the local hard drive.

   - Remove Windows system files so that a system can no longer be
booted.

With less than 30 minutes of effort, I was able to construct a test
Email
message that downloads a Windows executable file from a remote FTP site
and
installs it on the local hard drive using one of these ActiveX controls.
After the file is successful installed, it then is executed.  For my
test
message, I download and run the Windows calculator.  However, the Email
message can download any Windows program such as the ExplorerZip virus
or
Back Orifice 2000 install program.  In Outlook Express, this all happens
automatically when the Email message is read.  There are no attachments
that
have to be clicked on and no warnings with default security settings.

My test Email message contains only about 10 lines of JavaScript code to
direct one of the HP ActiveX controls to do the download and run the
program.  Anyone with experience in JavaScript programming could easily
duplicate the code that I wrote.  For obvious reasons, I will not be
publically releasing this test Email message.

Microsoft's Authenticode security system built into Internet Explorer is
of
no use here because the ActiveX controls are pre-installed on the
computer
and not downloaded from the Internet.  Authenticode only allows users to
prevent downloading of questionable ActiveX controls, not their
execution
once they are installed on a system.

The ActiveX controls are shipped on the HP system for use in system
diagnostic package called SystemWizard.  This package is a product of
SystemSoft (<http://www.systemsoft.com>).  The intention is these
controls
would only be used in SystemWizard and no where else.  However, because
the
controls are marked safe for scripting, any Web page or Email message
can
use the controls in any manner they like.  The controls either never
should
have marked safe in the first place or the controls need to do their own
security checking.  Unfortunately neither precaution was taken.

The two SystemSoft controls are just thin wrappers around a number of
Win32
system calls.  The Launch ActiveX control allows a JavaScript program to
run
a DOS or Windows program and pass in command line parameters.  The
RegObj
ActiveX control allows a JavaScript program to read, set, and scan
registry
keys.  The controls are accessed on a Web page simply by including an
HTML
<OBJECT> tag with appropriate parameters.  Pretty obviously, it is not a
good idea to allow JavaScript programs to make direct Win32 system calls
with such ease!

To give an idea how easy the Launch control is to misuse, the following
JavaScript call will remove the contents of someone's entire "My
documents"
directory using the old DOS deltree command:

    Launch('c:\\command.com', '/c deltree /y "c:\\My documents\\*.*"');

Both of the SystemWizard ActiveX controls were created last year and my
understanding have been shipped on most HP desktop systems in the US
retail
channel for at least the last 6 months.  The number of computers, which
are
vulnerable, is therefore quite substantial.  The same controls may also
being shipped on other brands of computers.

After being alerted to the problems of these two controls, SystemSoft is
providing a patch file to fix the security holes.  This patch file can
be
downloaded from their Web site at this URL:

   <http://www.systemsoft.com/support/syswiz/index.htm>

In addition to the two SystemSoft ActiveX controls, I also found an
another
ActiveX control pre-installed on the HP system with a privacy leak in
it.
The control can give out Windows 98 registration information such as
name,
address, and phone number to a Web site.  This control was supplied by
Encompass Corporation (now part of Yahoo) and is used in an ISP sign-up
program.  The control is marked safe for scripting on a new computer,
but is
marked unsafe for scripting the first time dial-up networking (DUN) is
used
on the system.  This issue is specific to this machine/build of the
software.  Unfortunately on my HP system, I use a LAN connection to
access
the Internet and therefore the Encompass control stays marked safe for
scripting forever and could give out registration information (limited
to
name, address, phone number) to a malicious person.  Since I didn't use
the
dial-up portion of the ISP sign up, I just removed the registration
application by going to the add/remove program files and choosing the
"Easy
Internet Access" application.  The control also remains safe for
scripting
if one uses AOL as an ISP because AOL does not use DUN support in
Windows
98.

Since Encompass has distributed versions of the software on a different
machines, I've put together a demo page that will test a system to see
if
the system has a version of the control that could release registration
information to a malicious person.  The test page can be found at:

   <http://www.tiac.net/users/smiths/acctroj/reginfo.htm>

I also upgrade from version 4 of Internet Explorer to version 5 on the
HP
system.  Unfortunately this upgrade installed yet another dangerous
ActiveX
control on the system.  This control is the DHTML editing control, which
can
be easily misused to read files from the local hard drive and upload
them to
a Web server.  This bug was discovered in March 1999 and has been fixed
by
Microsoft but the majority of IE5 users still are vulnerable because not
many people know about the problem.  A security bulletin and patch for
this
ActiveX control can be found on the Microsoft Web site:

   <http://www.microsoft.com/security/bulletins/ms99-011.asp>

How did so many of these insecure ActiveX controls get installed on my
computer in the first place?  Because Internet Explorer (IE4 or IE5)
comes
bundled with Windows 98, it is becoming an increasing popular for
computer
manufacturers to build specialized utilities for their PCs using IE4
just
like HP has done.  These utilities include registration software, ISP
sign-up programs, and shells for running common applications.  With
Internet
Explorer 4 it is very easy to develop user-interfaces for these types of
utilities using standard HTML pages.  ActiveX controls are then
typically
used in these applications to provide low-level access to the Windows
operating system to do things like run applications, access the
registry, or
read and write files.  These controls are only suppose to be used inside
the
applications they are designed for.  However, IE4 has no built-in
mechanism
for restricting use of a particular ActiveX control to be used with
particular Web pages.  Therefore it is up to application developer to
provide a security mechanism in their ActiveX controls.

After looking at the problems of the HP system, I decided to check out
other
new Windows 98 systems from other computer manufacturers for similar
unsafe
ActiveX controls.  The first thing I discovered that is very common for
manufacturers to ship utilities built as Web pages on their computers.
Most
of these applications included ActiveX controls for doing things like
running programs and accessing the registry.  The controls had names
like
"SpawnApp", "SafeLanuch", "RegRead", and "Run".  However, because I
didn't
have direct access to these systems, I have no method to test to see if
these controls can be misused or not.  Because their is no built-in
security
system in place for pre-installed ActiveX controls it is up to the
person
who writes the control to make sure they are safe.  I have inquired to a
number of computer manufacturers about the controls I saw, but so far
have
not received back any responses.  Given the subtle nature of ActiveX
security issues, I wouldn't be surprised that other computer models have
serious security problems also.

A typical Windows 98 system today ships with about 50 pre-installed
ActiveX
controls that are marked safe for scripting.  Because ActiveX controls
are
Win32 programs it's not possible to really know if a control is really
safe
or not.  The developer's claims about safety cannot necessarily be
trusted.
Without systematic and detailed testing it is not possible to know if
given
control is really safe.  I don't believe full testing is really being
done
today.  For example, here is information about another Microsoft ActiveX
control that is still being distributed with the Windows 98 Resource Kit
today:

   <http://support.microsoft.com/support/kb/articles/Q218/6/19.ASP>

This Resource Kit ActiveX control allows Windows programs to be
executed from a Web page or HTML Email message.

What can users do about all of these different ActiveX security holes?
One
approach is download patches to fix security holes as they are found.
Unfortunately for most user's it is not possible to know what ActiveX
controls are even installed on their system, never mind knowing which
ones
are really safe.  It might require going to 4 or 5 different Web sites
just
sees what security patches are available.  A pretty impossible task for
almost anyone.

One easy thing users can do is completely turn off ActiveX controls in
Internet Explorer.  This is done on the security tab of the "Internet
Options..." command in Internet Explorer.  This option however is only
available if the Web site that one goes to don't use ActiveX controls.

What can computer manufacturers and software companies do about the
problem
of security holes in pre-installed ActiveX controls?  As it turns out,
Internet Explorer 5 already offers a great solution.  IE5 supports a new
feature called HTML applications (or .HTA files).  An HTML Application
is
built like a Web page but can only be loaded and execute from the hard
drive.  Because an .HTA file comes from the local drive and not the
Internet, scripts on the page are a completely trusted and are allowed
to
use all ActiveX controls installed on a system whether the controls are
marked safe or not.  For an HTML application, none of its private
ActiveX
controls have to marked safe for scripting and therefore the controls
cannot
be misused on Web pages.

For current systems, my recommendation is that computer manufacturers
need
to review carefully all the ActiveX controls which are pre-installed on
computers that are going out the door.  In the review, each control
needs to
be checked for potential security problems.  It is particularly
important to
look at controls, which make Win32 system calls to load and execute
other
programs, read and write files, and access the registry.

I've created a Web page on my personal Web site that will check to see
what
potentially unsafe ActiveX controls are installed on a system.  The URL
for
the test page is:

   <http://www.tiac.net/users/smiths/acctroj/axcheck.htm>

Security problems with ActiveX controls have been a concern for a long
time,
because these controls are binary programs that are allow to make any
kind
of Windows system call.  The industry has mostly been worried about
ActiveX
controls that were intentionally created with malicious code.  Microsoft
addresses these concerns with the Authenticode security system which
allows
users to decide if they trust a particular author enough to run controls
that the author has written.  Authenticode is based on adding digital
signatures to controls.

However, the pattern I see here is a much different issue.  Instead we
have
computer and software vendors installing ActiveX controls on systems
without
any notification and these controls for whatever reasons contain
security
holes in them.  As I've pointed out here, I found 4 different ActiveX
controls on my HP system for 3 different vendors which compromised the
safety on my system.  Not exactly a great track record!  Going forward I
hope that PC makers take a closer look at that the ActiveX controls that
they are shipping on their systems.  You never know who might be using
that
hidden-away ActiveX to create problems for us computer users.


Current thread: