Bugtraq mailing list archives

Microsoft Windows 2000 Telnet server vulnerability


From: Michal Zalewski <lcamtuf () bos bindview com>
Date: Fri, 8 Jun 2001 09:46:15 -0400 (EDT)


RAZOR Advisory:

   Range checking fault condition in Microsoft Windows 2000 Telnet
   server

   Issue Date: June 8, 2001
   Contact: Michal Zalewski <lcamtuf () razor bindview com>

Topic:

   Range checking fault condition is present in telnet server shipped
   with Microsoft Windows 2000.

Affected Systems:

   Tested on Windows 2000 Advanced Server SP1.

Overview:

   There is a buffer size checking related fault condition in Microsoft
   Windows 2000 telnet server. This vulnerability is present only if
   telnet service is running and plain-text logins are allowed (this does
   not apply to NTLM-based authentication).

Details:

   Microsoft Telnet Server does range checking when reading a username,
   dropping the connection if an excessively long line was sent to it.
   This mechanism fails if there is approximately 4300 or more characters
   in the input buffer already, and ASCII code 127 (0x7b, backspace)
   arrives. This leads to service crash (DoS condition).

   When this condition occurs, 0x41414141 can be found in stack dumps.
   Microsoft advised us this condition is not exploitable.

Vulnerability check:

   The following Linux bash script would test telnet server for the
   vulnerability:

  - test.sh -
  #!/bin/bash
  ( sleep 1
    perl -e '{printf "%s\x7f%s","A"x4500,"A"x100}'
    sleep 3
  ) | telnet victimbox
  - eof -

Vendor response:

   This vulnerability is addressed by the MS01-031 security bulletin and
   Microsoft has issued a patch to correct the issue.

Microsoft's security bulletin:

     http://www.microsoft.com/technet/security/bulletin/ms01-031.asp

Microsoft's Patch:

     Windows 2000:
     http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30508



Current thread: