Public Vulnerability Reports

Microsoft Active Directory Hexdecimal DN AttributeValue Invalid Free Vulnerability



Active Directory, created by Microsoft Corp., provides a number of network services, one of which is a Light-weight Directory Access Protocol (LDAP) compatible directory service.


Remote exploitation of an invalid free vulnerability in Microsoft Corp.'s Active Directory Server allows attackers to exhaust all virtual memory.

According to section 2.4 of the IETF Request For Comments (rfc) 4514, LDAP requests can contain strings that have been encoded using hexadecimal encoding. When Active Directory on Windows 2000 encounters such a request, it fails to release the memory associated with the hexadecimal encoded portion of the request. By continually making such requests, an attacker can exhaust virtual memory on the targeted system.


Exploitation allows an attacker to consume all available virtual memory on the affected system. To exploit this vulnerability, an attacker must be able to establish a TCP session with the vulnerable machine. LDAP uses port 389 or, when encrypted, port 636. Additionally, LDAP requests are processed when connecting to the Global Catalog Server on ports 3268 or 3269.

Although exhausting virtual memory does not compromise the integrity of the system, it can allow some otherwise non-exploitable vulnerabilities to be exploited. As long as virtual memory is exhausted, the computer will not be able to start new programs, or do other tasks that require allocating virtual memory.


iDefense confirmed the existence of this vulnerability using a Windows 2000 SP4 domain controller with all patches available as of January 2008 applied. All versions of Active Directory installed on Windows 2000 are suspected to be vulnerable.


Employing firewalls to limit access to the affected services will mitigate exposure to this vulnerability.


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-1138 to this issue. This is a candidate for inclusion in the CVE list (, which standardizes names for security problems.


01/21/2009 - Initial Contact
01/22/2009 - Initial Response
01/27/2009 - Requested PoC
01/30/2009 - Sent PoC
02/09/2009 - MS Status update
06/02/2009 - MS Requests Credit request
06/04/2009 - CVE Received
06/04/2009 - iDefense Requested CVE
06/05/2009 - Microsoft informs iDefense that the Bulletin was promoted to potential Code Execution
06/08/2009 - iDefense requests clarification, offers further insight
06/10/2009 - iDefense reiterates request
06/10/2009 - MS Responds that they agree that code execution is very unlikely and will change the Exploitability Index
06/11/2009 - MS Changes Exploitability Index from 1 to 3
06/11/2009 - Coordinated public disclosure


This vulnerability was discovered by Joshua J. Drake 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.