Microsoft Security Bulletin MS07-065 – Important Vulnerability in Message Queuing Could Allow Remote Code Execution (937894) Published: December 11, 2007
Version: 1.0 General Information Executive Summary
This important security update resolves a privately reported vulnerability in Message Queuing Service (MSMQ) that could allow remote code execution in implementations on Microsoft Windows 2000 Server, or elevation of privilege in implementations on Microsoft Windows 2000 Professional and Windows XP. An attacker must have valid logon credentials to exploit this vulnerability. An attacker could then install programs; view, change, or delete data; or create new accounts.
This is an important security update for supported editions of Microsoft Windows 2000 Server and a moderate security update for supported editions of Windows XP and Windows 2000 Professional. For more information, see the subsection, Affected and Non-Affected Software, in this section.
This security update addresses this vulnerability by validating the input string before copying it to the buffer. For more information about the vulnerabilities, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability entry under the next section, Vulnerability Information.
Recommendation. Microsoft recommends that customers apply the update at the earliest opportunity.
Known Issues. None Top of sectionTop of section Affected and Non-Affected Software
The software listed here have been tested to determine which versions or editions are affected. Other versions or editions are either past their support life cycle or are not affected. To determine the support life cycle for your software version or edition, visit Microsoft Support Lifecycle.
Affected Software Operating System Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by This Update
Microsoft Windows 2000 Server Service Pack 4 and Microsoft Windows 2000 Professional Service Pack 4
Remote Code Execution
Windows XP Service Pack 2
Elevation of Privilege
Non Affected Software Operating System
Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2
Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2
Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2
Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium-based Systems
Windows Vista x64 Edition Top of sectionTop of section
Frequently Asked Questions (FAQ) Related to This Security Update
I am using an older release of the software discussed in this security bulletin. What should I do? The affected software listed in this bulletin have been tested to determine which releases are affected. Other releases are past their support life cycle. To determine the support life cycle for your software release, visit Microsoft Support Lifecycle.
It should be a priority for customers who have older releases of the software to migrate to supported releases to prevent potential exposure to vulnerabilities. For more information about the Windows Product Lifecycle, visit the following Microsoft Support Lifecycle. For more information about the extended security update support period for these software releases, visit the Microsoft Product Support Services Web site.
Customers who require custom support for older software must contact their Microsoft account team representative, their Technical Account Manager, or the appropriate Microsoft partner representative for custom support options. Customers without an Alliance, Premier, or Authorized Contract can contact their local Microsoft sales office. For contact information, visit the Microsoft Worldwide Information Web site, select the country, and then click Go to see a list of telephone numbers. When you call, ask to speak with the local Premier Support sales manager. For more information, see the Windows Operating System Product Support Lifecycle FAQ. Top of sectionTop of section Vulnerability Information
Severity Ratings and Vulnerability Identifiers Affected Software Message Queuing Service Remote Code Execution Vulnerability – CVE-2007-3039 Aggregate Severity Rating
Microsoft Windows 2000 Server Service Pack 4
Remote Code Execution
Microsoft Windows 2000 Professional Service Pack 4
Elevation of Privilege
Windows XP Service Pack 2
Elevation of Privilege
Moderate Top of sectionTop of section
Message Queuing Service Remote Code Execution Vulnerability – CVE-2007-3039
A remote code execution vulnerability exists in the Message Queuing Service when it incorrectly validates input strings before passing the strings to a buffer. An attacker could exploit the vulnerability by constructing a specially crafted MSMQ message that could allow remote code execution in a remote attack scenario on Microsoft Windows 2000 Server and a local elevation of privilege in a local scenario on Microsoft Windows 2000 Professional and Windows XP. An attacker who successfully exploited this vulnerability could take complete control of an affected system.
To view this vulnerability as a standard entry in the Common Vulnerabilities and Exposures list, see CVE-2007-3039.
Mitigating Factors for Message Queuing Service Remote Code Execution Vulnerability – CVE-2007-3039
Mitigation refers to a setting, common configuration, or general best-practice, existing in a default state, that could reduce the severity of exploitation of a vulnerability. The following mitigating factors may be helpful in your situation: •
An attacker must have valid logon credentials in order to exploit this vulnerability on Windows XP. •
By default, the Message Queuing component is not installed on any affected operating system edition and can only be enabled by a user with administrative privileges. Only customers who manually install the Message Queuing component are likely to be vulnerable to this issue. •
For customers that require the the Message Queuing component, firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed. Top of sectionTop of section
Workarounds for Message Queuing Service Remote Code Execution Vulnerability – CVE-2007-3039
Workaround refers to a setting or configuration change that does not correct the underlying vulnerability but would help block known attack vectors before you apply the update. Microsoft has tested the following workarounds and states in the discussion whether a workaround reduces functionality: •
Block the following at the firewall: •
All unsolicited inbound traffic on ports greater than 1024 •
Any other specifically configured RPC port
These ports are used to initiate a connection with RPC. Blocking them at the firewall will help prevent systems that are behind that firewall from attempts to exploit this vulnerability. Also, make sure that you block any other specifically configured RPC port on the remote system. Microsoft recommends that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about the ports that RPC uses, visit TCP and UDP Port Assignments. •
Disable the Message Queuing Service: •
Disabling the Message Queuing service will help protect the affected system from attempts to exploit this vulnerability. To disable the Message Queuing service, follow these steps:
Click Start, and then click Control Panel. Alternatively, point to Settings, and then click Control Panel.
Double-click Administrative Tools. Alternatively, click Switch to Classic View and then double-click Administrative Tools.
Double-click Message Queuing.
In the Startup type list, click Disabled.
Click Stop, and then click OK.
You can also stop and disable the MSMQ service by using the following command at the command prompt (available in Windows XP and in the Microsoft Windows 2000 Resource Kit):
sc stop MSMQ & sc config MSMQ start= disabled
By Group Policy:
Disable the Message Queuing service by using the Group Policy settings. You can disable the startup of this service at either the local, site, domain, or organizational-unit level by using Group Policy object functionality in Microsoft Windows 2000 domain environments or in Windows Server 2003 domain environments.
Note: You may also review the Windows Server 2003 Security Guide. This guide includes information about how to disable services.
For more information about Group Policy, visit the following Microsoft Web sites: •
Step-by-Step Guide to Understanding the Group Policy Feature Set •
Windows 2000 Group Policy •
Group Policy in Windows Server 2003
How to undo the workaround: Use the steps above to set the Startup Type to Automatic and start the service. Top of sectionTop of section
FAQ for Message Queuing Service Code Execution Vulnerability – CVE-2007-3039
What is the scope of the vulnerability? This is a remote code execution vulnerability for Microsoft Windows 2000 Server and a local elevation of privilege vulnerability for Microsoft Windows 2000 Professional and Windows XP. An attacker who successfully exploited this vulnerability could take complete control of an affected system remotely on Microsoft Windows 2000 Server and locally on Microsoft Windows 2000 Professional and Windows XP. An attacker could then install programs or view, change, or delete data.
What causes the vulnerability? The MSMQ service improperly checks input strings before passing them to the buffer. As a result, an unchecked buffer overrun in the service code is possible, allowing an attacker to execute arbitrary code in the context of LOCAL SYSTEM.
What is Message Queuing? Microsoft Message Queuing technology enables applications that are running at different times to communicate across heterogeneous networks and across systems that may be temporarily offline. Applications send messages to queues and read messages from queues. Message Queuing provides guaranteed message delivery, efficient routing, security, and priority-based messaging. It can be used to implement solutions for both asynchronous and synchronous messaging scenarios. For more information about Message Queuing, see the Message Queuing product documentation.
What might an attacker use the vulnerability to do? An attacker who successfully exploited this vulnerability could gain local system rights which could allow remote code execution in implementations on Microsoft Windows 2000 Server, or elevation of privilege in implementations on Windows 2000 Professional and Windows XP. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.
How could an attacker exploit the vulnerability? To exploit this vulnerability locally on Windows XP, an attacker would first have to log on to the system. To exploit this vulnerability remotely on Microsoft Windows 2000 Server, an attacker would have to send specially crafted packets to the MSMQ service that could exploit the vulnerability and gain complete control of the affected system.
What systems are primarily at risk from the vulnerability? Microsoft Windows 2000 and Windows XP systems that have the MSMQ service enabled are the systems that are primarily at risk.
What does the update do? The update removes the vulnerability by modifying the way that the MSMQ service validates input strings before passing the strings to the allocated buffer.
When this security bulletin was issued, had this vulnerability been publicly disclosed? No. Microsoft received information about this vulnerability through responsible disclosure.
When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited? No. Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers and had not seen any examples of proof of concept code published when this security bulletin was originally issued.
Other Information Acknowledgments
Microsoft thanks the following for working with us to help protect customers: •
Zero Day Initiative for reporting the MSMQ Remote Code Execution Vulnerability – (CVE-2007-3039). •
Venustech of ADLABS for reporting the MSMQ Remote Code Execution Vulnerability – (CVE-2007-3039). Top of sectionTop of section Support •
Customers in the U.S. and Canada can receive technical support from Microsoft Product Support Services at 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. •
International customers can receive support from their local Microsoft subsidiaries. There is no charge for support that is associated with security updates. For more information about how to contact Microsoft for support issues, visit the International Support Web site. Top of sectionTop of section Disclaimer
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. Top of sectionTop of section Revisions •
V1.0 (December 11, 2007): Bulletin published.