Public Vulnerability Reports

Microsoft Windows 2000 Print Spooler Remote Stack Buffer Overflow Vulnerability



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:


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.


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.


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.


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.


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


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 (, which standardizes names for security problems.


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


This vulnerability was discovered by Jun Mao of iDefense Labs.

Get paid for vulnerability research

Free tools, research and upcoming events


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.