Security Bulletin

Microsoft Security Bulletin MS98-014 - Important

Update available for RPC Spoofing Denial of Service on Windows NT

Published: September 29, 1998 | Updated: March 10, 2003

Version: 2.0

Patch Availability Information Updated: March 10, 2003

Originally Posted: September 29, 1998

Last Revised: September 29, 1998

Summary

Microsoft has released a patch that enhances the way that Microsoft® Windows NT® processes bad Remote Procedure Call (RPC) datagrams. This patch prevents a malicious attack in which an attacker sends an RPC datagram to a server and spoofs the return address so that the datagram appears to have come from another server. This tricks the two servers into erroneously sending RPC error messages to each other. These error messages could cause a temporary loop resulting in high CPU utilization and network bandwidth until the bad packets are discarded.

Customers using affected software listed below should evaluate risks to their systems posed by this issue, then download and apply this patch as appropriate to their configurations.

Issue

It is possible for a malicious attacker to send spoofed RPC datagrams to UDP destination port 135 so that it appears as if one RPC server sent bad data to another RPC server. The second server returns a REJECT packet and the first server (the spoofed server) replies with another REJECT packet creating a loop that is not broken until a packet is dropped, which could take a few minutes. If this spoofed UDP packet is sent to multiple computers, a loop could possibly be created, consuming processor resources and network bandwidth.

While there have not been any reports of customers being adversely affected by these problems, Microsoft is releasing a patch to address any risks posed by this issue.

Affected Software Versions

The following software is affected by this vulnerability:

  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows NT Server version 4.0
  • Microsoft Windows NT Server version 4.0, Terminal Server Edition

Vulnerability Identifier: CVE-1999-0969

What Microsoft is Doing

On September 29th Microsoft released a patch that changes the behavior of the RPC service so it can better detect spoofed packets and not respond to them, preventing an attack of this type from causing any problem.

Microsoft has sent this security bulletin to customers subscribing to the Microsoft Product Security Notification Service. See The Microsoft Product Security Notification Service for more information about this free customer service.

Microsoft has published the following Knowledge Base (KB) articles on this issue:

  • Microsoft Knowledge Base (KB) article 193233, RPCSS.EXE Consumes 100% CPU due to RPC-spoofing Attack https:

    (Note    It might take 24 hours for the KB article to be visible in the Web-based Knowledge Base. A copy of the article is also available on the FTP server in the same directory as the fix.)

What customers should do

Microsoft recommends that customers using affected software listed above should evaluate risks to their systems posed by this issue, then download and apply this patch as appropriate to their configuration.

Fix for Windows NT 4.0 x86 version - </https:>https:

Fix for Windows NT 4.0 Alpha version - </https:>https:

Fix for Windows NT Server 4.0, Terminal Server Edition - This fix will be available shortly. It will be available in the following location: </https:>https:

Additional Details

The following are additional notes about this issue:

  • It is relatively easy to detect a malicious attack of this kind by using a network analyzer to watch for bad RPC packets. Also, during an attack, the RPCSS.EXE service will consume a very large amount of CPU cycles (during an active, on-going attack, it will consume 100% of CPU cycles.)
  • Systems that are currently in an error loop (sending error messages back and forth) will recover by themselves shortly after the attacker has stopped sending spoofed packets.
  • If two systems are currently in an error loop (sending error messages back and forth) momentarily disconnecting one system from the network will cause an end to that loop, since UDP packets are connectionless.
  • These error packets are addressed to UDP port 135 and can be filtered at a corporate firewall to protect against external attackers.

More Information

Please see the following references for more information related to this issue.

  • Microsoft Security Bulletin MS98-014, Update available for RPC Spoofing Denial of Service on Windows NT, (the Web posted version of this bulletin), https://www.microsoft.com/technet/security/bulletin/ms98-014.mspx

  • Microsoft Knowledge Base (KB) article 193233, RPCSS.EXE Consumes 100% CPU due to RPC-spoofing Attack </https:>https:

    (Note   It might take 24 hours for the KB article to be visible in the Web-based Knowledge Base. A copy of the article is also available on the FTP server in the same directory as the fix.)

Acknowledgments

Microsoft wishes to acknowledge the contributions of Internet Security Systems, Inc. (https://www.iss.net) for reporting this problem to us.

Revisions

  • September 29, 1998: Bulletin Created
  • V2.0 (March 10, 2003): Introduced versioning and updated patch availability information

For additional security-related information about Microsoft products, please visit https://www.microsoft.com/technet/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.

Built at 2014-04-18T13:49:36Z-07:00 </https:>