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-REQUESTat_private 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.
This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 14:36:11 PDT