Microsoft Windows NT 4.0 Invalid LPC Request DoS Vulnerability
BID:1743
Info
Microsoft Windows NT 4.0 Invalid LPC Request DoS Vulnerability
| Bugtraq ID: | 1743 |
| Class: | Failure to Handle Exceptional Conditions |
| CVE: | |
| Remote: | No |
| Local: | Yes |
| Published: | Oct 03 2000 12:00AM |
| Updated: | Oct 03 2000 12:00AM |
| Credit: | Discovered by BindView's Razor Team <[email protected]> and publicized in a Microsoft Security Bulletin (MS00-070) on October 3, 2000. |
| Vulnerable: |
Microsoft Windows NT Terminal Server 4.0 Microsoft Windows NT 4.0 |
| Not Vulnerable: |
Microsoft Windows 2000 Professional |
Discussion
Microsoft Windows NT 4.0 Invalid LPC Request DoS Vulnerability
LPC (Local Procedure Call) is a message-passing service that allows threads and processes to communicate with each other on a local machine as opposed to RPC (Remote Procedure Call) that takes place between different hosts. The implementation of LPC in Windows NT 4.0 does not properly handle LPC requests that are out of order or utilize invalid parameters.
If a server was to receive a LPC request from a client, the normal procedure for the server would be a call to NtAcceptConnectPort and NtCompleteConnectPort to complete the connection. If the server were to call upon NtReplyPort rather than NtAcceptConnectPort, the client would crash due to a kernel exception.
In addition, if a client was to connect to either \DbgSsApiPort or \DbgUiApiPort and send random data, the client would crash.
In both scenarios, reboot of the system would be required in order to regain normal functionality.
This vulnerability can only be launched against a machine a user can interactively log onto, therefore remote exploitation is not possible.
Other vulnerabilities exists in NT's implementation of LPC and are detailed in the Microsoft Security Bulletin (MS00-070) and Bindview's Security Advisory located under the 'Credit' tab.
LPC (Local Procedure Call) is a message-passing service that allows threads and processes to communicate with each other on a local machine as opposed to RPC (Remote Procedure Call) that takes place between different hosts. The implementation of LPC in Windows NT 4.0 does not properly handle LPC requests that are out of order or utilize invalid parameters.
If a server was to receive a LPC request from a client, the normal procedure for the server would be a call to NtAcceptConnectPort and NtCompleteConnectPort to complete the connection. If the server were to call upon NtReplyPort rather than NtAcceptConnectPort, the client would crash due to a kernel exception.
In addition, if a client was to connect to either \DbgSsApiPort or \DbgUiApiPort and send random data, the client would crash.
In both scenarios, reboot of the system would be required in order to regain normal functionality.
This vulnerability can only be launched against a machine a user can interactively log onto, therefore remote exploitation is not possible.
Other vulnerabilities exists in NT's implementation of LPC and are detailed in the Microsoft Security Bulletin (MS00-070) and Bindview's Security Advisory located under the 'Credit' tab.
Exploit / POC
Solution / Fix
Microsoft Windows NT 4.0 Invalid LPC Request DoS Vulnerability
Solution:
Microsoft has released the following patch which eliminates this vulnerability including the other LPC vulnerabilities discussed in the Microsoft Security Bulletin (MS00-070):
Microsoft Windows NT Terminal Server 4.0
Solution:
Microsoft has released the following patch which eliminates this vulnerability including the other LPC vulnerabilities discussed in the Microsoft Security Bulletin (MS00-070):
Microsoft Windows NT Terminal Server 4.0
References
Microsoft Windows NT 4.0 Invalid LPC Request DoS Vulnerability
References:
References: