// back

Microsoft Windows 2000 Print Spooler Remote Stack Buffer Overflow Vulnerability

06.09.09

BACKGROUND

The Windows Print Spooler manages the printing process, and loads files to memory for later printing. For more information about Print Spooler, please visit following website:

http://msdn.microsoft.com/en-us/library/aa506181.aspx

DESCRIPTION

Remote exploitation of a stack buffer overflow vulnerability in Microsoft Corp.'s Windows 2000 operating system could allow an unauthenticated attacker to execute arbitrary code with system-level privileges.

This vulnerability exists in the EnumeratePrintShares function in win32spl.dll. The vulnerable function does not correctly validate the length of the printer server's response. When a malformed response is received from the printer server, the stack buffer can be overflowed, resulting in an exploitable condition.

ANALYSIS

Exploitation allows a remote attacker to execute arbitrary code with system-level privileges.

To exploit this vulnerability, the attacker has to setup a malicious printer server that can be accessed by the target system. No user interaction is required and no authentication is required. The attacker just needs to connect to the print spooler service and send a request. This request will cause the target system to enumerate shared printer resource on the malicious printer server and trigger the vulnerability.

This vulnerability only exists in Windows 2000. The Spooler Service is running by default on Windows 2000 with SYSTEM privileges.

DETECTION

iDefense has confirmed the existence of this vulnerability in win32spl.dll version 5.00.2195.7054, as included in Windows 2000 Service Pack 4, with all available patches as of September 2008. All previous versions are suspected vulnerable.

Windows XP SP2 and later versions of Windows are not affected.

WORKAROUND

Consider disabling the print spooler service; however, by doing this, users cannot print locally or remotely.

For hosts that do need the print spooler service running, disable anonymous connections to the service by removing the print spooler service from following registry key: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParametersNullSessionPipes Remove 'SPOOLSS' from the registry key. This will allow only authenticated access to the print spooler service, disabling the vector for anonymous attack.

Alternatively, ports 139, 445, 631 both UDP and TCP can be firewalled. This will largely prevent access to any print services remotely on a host system.

VENDOR RESPONSE

Microsoft has released a patch which addresses this issue. For more information, consult their advisory at the following URL:

http://www.microsoft.com/technet/security/Bulletin/MS09-022.mspx

CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2009-0228 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems.

DISCLOSURE TIMELINE

09/05/2008 - Initial Contact
09/05/2008 - Initial Response
09/05/2008 - PoC Requested
09/08/2008 - PoC Sent
09/24/2008 - Vendor Status Update - no estimated date set
12/12/2008 - Vendor Status Update - new case manger, tentative date set for April 2009
02/26/2009 - Vendor Status Update - tentative date set for 06/09/2009
03/27/2009 - Vendor confirmed attribution.
04/23/2009 - Requested CVE
04/23/2009 - CVE received
05/28/2009 - Confirmed tentative disclosure date and acknowledgment text
06/09/2009 - Coordinated public disclosure

CREDIT

This vulnerability was discovered by Jun Mao of iDefense Labs.

Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php

Free tools, research and upcoming events
http://labs.idefense.com/

LEGAL NOTICES

Copyright © 2009 Verisign, Inc.

Permission is granted for the redistribution of this alert electronically. It may not be edited in any way without the express written consent of iDefense. If you wish to reprint the whole or any part of this alert in any other medium other than electronically, please e-mail customer service for permission.

Disclaimer: The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.