Windows NT KnownDLLs Vulnerability
A vulnerability exists affecting all versions of Microsoft® Windows NT® operating system, which could allow a user to gain administrative privileges on a computer. In most common usage scenarios, this vulnerability presents itself on workstations, terminal servers, and other systems that allow non-administrative users to interactively log on.
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 programmatically 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 Administrators group.
It is important to understand that the user must able to run exploitation code on a machine in order to elevate their privileges. There are two types of machines at risk:
- Machines that allow non-administrative users to interactively log on. Workstation and terminal servers typically do allow this, but, per standard security practices, most other servers only allow administrators to interactively log on. (Even on workstations, it's worth noting that most workstation users already are administrators on the local machine).
- Machines that allow remote users to submit arbitrary programs for execution. Servers such as domain controllers, line of business servers, application servers, print and file servers and the like typically do not accept arbitrary programs for execution.
It also is important to note that the scope of the privilege elevation is highly dependent on the specific machine on which the exploitation code is run. For example, a user who exploited this vulnerability on a workstation could join the local Administrators group, but could not directly exploit this vulnerability to become a domain administrator. However, a user who exploited this vulnerability on a domain controller would be able to become a domain Administrator, because the domain SAM is shared among all domain controllers.
Affected Products
- Windows NT Server, Enterprise, Terminal Server and Workstation 4.0
Solution
Hot Fix
The hot fix changes the default permissions on the KnownDLLs list, and is the recommended means of eliminating the vulnerability it can be found at:
- X86-based Windows NT Workstation and Server 4.0 (including Enterprise Edition): ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40/hotfixes-postSP4/Smss-fix/Smssfixi.exe
- X86-based Windows NT Server 4.0, Terminal Server Edition: ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40TSE/hotfixes-postSP3/Smss-fix/Smssfixi.exe
- Alpha-based Windows NT Workstation and Server 4.0 (including Enterprise Edition and Terminal Server Edition): ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40/hotfixes-postSP4/Smss-fix/Smssfixa.exe
- Alpha-based Windows NT Server 4.0, Terminal Server Edition: ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40TSE/hotfixes-postSP3/Smss-fix/Smssfixa.exe
Registry Change
It is also possible to eliminate this vulnerability via a registry change that enables stronger protection on system base objects such as the KnownDLLs list. However, because this registry change affects all system base objects, rather than just the KnownDLLs list, it may not be appropriate for all systems.
Instructions can be found here:
Further Details
Source: Microsoft Corporation
Reference: Microsoft Corporation
Updated: March 5, 1999
>> Recommended Download - secure your PC from spyware, adware and malware now with Spyware Doctor <<
| More Guides » | Registry Guide | Support Forums | Software Guide | Scripting Guide | Search |


