Bugtraq mailing list archives

Microsoft Security Bulletin (MS99-006)


From: aleph1 () UNDERGROUND ORG (aleph1 () UNDERGROUND ORG)
Date: Sat, 20 Feb 1999 13:51:01 -0800


The following is a Security  Bulletin from the Microsoft Product Security
Notification Service.

Please do not  reply to this message,  as it was sent  from an unattended
mailbox.
                    ********************************

Microsoft Security Bulletin (MS99-006)
--------------------------------------

Fix Available for Windows NT "KnownDLLs List" Vulnerability

Originally Posted: February 19, 1999

Summary
=======
Microsoft has learned of a vulnerability in the Microsoft(r) Windows NT(r)
operating system that  could allow a user to gain administrative privileges
on the computer the user is interactively  logged onto. This vulnerability
is primarily a concern for workstations and other systems that  allow
non-administrative users to interactively log on.

The privilege elevation can be prevented by setting the value of a specific
registry key. The  registry setting is described below and also discussed in
multiple Windows NT security  guidelines. In addition, Microsoft is
developing a hot fix that will change the default access  control settings
on the relevant operating system data in order to eliminate the
vulnerability  altogether. When this hot fix is available, an updated
version of this bulletin will be issued to  provide more information.

Issue
=====
In Windows NT, core operating system DLLs are kept in virtual memory and
shared between the  programs running on the system. This is done to avoid
having redundant copies of the DLLs in  memory, and improves memory usage
and system performance. When a program calls a function  provided by one of
these DLLs, the operating system references a data structure called the
KnownDLLs list to determine the location of the DLL in virtual memory. The
Windows NT security  architecture protects in-memory DLLs against
modification, but by default it allows all users to  read from and write to
the KnownDLLs list. This is the root problem underlying the vulnerability.

A user can load into memory a malicious DLL that has the same name as a
system DLL, then change  the entry in the KnownDLLs list to point to the
malicious copy. From that point forward, programs  that request the system
DLL will instead be directed to the malicious copy. When called by a
program with sufficiently high privileges, it could take any desired action,
such as adding the  malicious user to the Local Administrators group.

It is important to understand that this vulnerability is local to the
machine that the malicious  user is interactively logged onto. For example,
a workstation user could exploit this  vulnerability to become a local
administrator, but could not use it directly to become a domain
administrator. This fact restricts the impact of the vulnerability mainly to
workstations  because, if recommended security practices are observed,
non-administrative users will not be  granted the ability to interactively
log onto servers. Even on workstations, it is worth pointing  out that most
workstation users already are local administrators and have full control
over the  machine.

While there are no reports of customers being adversely affected by this
privilege elevation  vulnerability, Microsoft is proactively providing
information to allow customers to prevent it.  The registry change detailed
below works by restricting users' ability to change system base  objects,
including the KnownDLLs list. A hot fix will be provided shortly that
changes the  default permissions on the KnownDLLs list to read-only.

Affected Software Versions
==========================
 - Microsoft Windows NT 3.5, 3.51, and 4.0, Standard and Enterprise Editions


What Microsoft is Doing
=======================
Microsoft has provided an immediate workaround in the form of a registry
entry change, as  discussed below in "What Customers Should Do". Microsoft
is developing a hot fix that will change  the default permissions on the
KnownDLLs list, and will issue an update to this bulletin when it  is
available.

Microsoft also has sent this security bulletin to customers
subscribing to the Microsoft Product  Security Notification Service.
See http://www.microsoft.com/security/services/bulletin.asp
for more information about this free customer service.

Microsoft has published the following Knowledge Base (KB) article on this
issue:
 - Microsoft Knowledge Base (KB) article Q218473,
   Restricting Changes to Base System Objects,
   http://support.microsoft.com/support/kb/articles/q218/4/73.asp
   (Note: It might take 24 hours from the original posting
   of this bulletin for the KB article to be visible in the
   Web-based Knowledge Base.)

What Customers Should Do
========================
To enable stronger protection on system base objects such as the KnownDLLs
list, add the  following value to the registry key
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager:

   Name: ProtectionMode
   Type: REG_DWORD
   Value: 1

NOTE: Incorrectly changing the system registry can damage your system or
render it inoperable,  and users undertake these changes at their own risk.
If you require assistance in making this  change, see Obtaining Support on
this Issue below.

More Information
================
Please see the following references for more information related to this
issue.
 - Microsoft Security Bulletin MS99-006,
   Fix Available for Windows NT "KnownDLLs List"
   Vulnerability (the Web-posted version of this bulletin),
   http://www.microsoft.com/security/bulletins/ms99-006.asp.
 - Microsoft Knowledge Base (KB) article Q218473,
   Restricting Changes to Base System Objects,
   http://support.microsoft.com/support/kb/articles/q218/4/73.asp
 - Microsoft White Paper, Securing Windows NT Installation, available
   at http://www.microsoft.com/security/resources/whitepapers.asp
   and http://www.microsoft.com/ntserver/security/exec/
   overview/Secure_NTInstall.asp (URL has been word-wrapped for
   readability)

Obtaining Support on this Issue
===============================
If you require technical assistance with this issue,
please contact Microsoft Technical Support. For information
on contacting Microsoft Technical Support, please see
http://support.microsoft.com/support/contact/default.asp.

Acknowledgments
===============
Microsoft would like to acknowledge L0pht Heavy Industries
(http://www.l0pht.com) for discovering  this vulnerability.

Revisions
=========
 - February 19, 1999: Bulletin Created


For additional security-related information about Microsoft
products, please visit http://www.microsoft.com/security


---------------------------------------------------------------

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS"
WITHOUT WARRANTY OF  ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER
EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES  OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION  OR ITS
SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT,
INCIDENTAL,  CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES,
EVEN IF MICROSOFT CORPORATION OR ITS  SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE  EXCLUSION OR
LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE
FOREGOING  LIMITATION MAY NOT APPLY.

(c) 1999 Microsoft Corporation. All rights reserved. Terms of Use.

   *******************************************************************
You have received  this e-mail bulletin as a result  of your registration
to  the   Microsoft  Product  Security  Notification   Service.  You  may
unsubscribe from this e-mail notification  service at any time by sending
an  e-mail  to  MICROSOFT_SECURITY-SIGNOFF-REQUEST () ANNOUNCE MICROSOFT COM
The subject line and message body are not used in processing the request,
and can be anything you like.

For  more  information on  the  Microsoft  Security Notification  Service
please    visit    http://www.microsoft.com/security/bulletin.htm.    For
security-related information  about Microsoft products, please  visit the
Microsoft Security Advisor web site at http://www.microsoft.com/security.



Current thread: