Microsoft Security Bulletin MS08-065 – Important Vulnerability in Message Queuing Could Allow Remote Code Execution (951071) Published: October 14, 2008
Version: 1.0 General Information Executive Summary
This security update resolves a privately reported vulnerability in the Message Queuing Service (MSMQ) on Microsoft Windows 2000 systems. The vulnerability could allow remote code execution on Microsoft Windows 2000 systems with the MSMQ service enabled.
This security update is rated Important for all supported editions of Microsoft Windows 2000. For more information, see the subsection, Affected and Non-Affected Software, in this section.
The security update addresses the vulnerability by replacing the vulnerable string APIs that are processed by MSMQ. For more information about the vulnerability, 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 following software 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 Service Pack 4
Remote Code Execution
Non-Affected Software Operating System
Windows XP Service Pack 2 and Windows XP Service Pack 3
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 and Windows Vista Service Pack 1
Windows Vista x64 Edition and Windows Vista x64 Edition Service Pack 1
Windows Server 2008 for 32-bit Systems
Windows Server 2008 for x64-based Systems
Windows Server 2008 for Itanium-based Systems Top of sectionTop of section
Frequently Asked Questions (FAQ) Related to This Security Update
Where are the file information details? The file information details can be found in Microsoft Knowledge Base Article 951071.
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 Microsoft Support Lifecycle. For more information about the extended security update support period for these software versions or editions, visit Microsoft Product Support Services.
Customers who require custom support for older releases 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 Microsoft Worldwide Information, 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 Vulnerability Severity Rating and Maximum Security Impact by Affected Software Affected Software Message Queuing Service Remote Code Execution Vulnerability - CVE-2008-3479 Aggregate Severity Rating
Microsoft Windows 2000 Service Pack 4
Important Remote Code Execution
Important Top of sectionTop of section
Message Queuing Service Remote Code Execution Vulnerability - CVE-2008-3479
A remote code execution vulnerability exists in the Message Queuing Service due to a specific flaw in the parsing of an RPC request to the Message Queuing service.
An attacker could exploit the vulnerability by sending a specially crafted RPC request. A heap request can be controlled and later overflowed during an unchecked string copy operation. Successful exploitation of this issue could lead to full access to the affected system under the SYSTEM context. 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-2008-3479.
Mitigating Factors for Message Queuing Service Remote Code Execution Vulnerability - CVE-2008-3479
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: •
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 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-2008-3479
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 perimeter 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. •
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 site:
Step-by-Step Guide to Understanding the Group Policy Feature Set
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
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 Remote Code Execution Vulnerability - CVE-2008-3479
What is the scope of the vulnerability? This is a remote code execution vulnerability for Microsoft Windows 2000 systems with the MSMQ service enabled. An attacker who successfully exploited this vulnerability could take complete control of an affected system remotely. An attacker could then install programs or view, change, or delete data.
What causes the vulnerability? The MSMQ service does not correctly parse specifically crafted RPC requests.
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 is RPC? Microsoft RPC is a model for programming in a distributed computing environment. The goal of RPC is to provide transparent communication so that the client appears to be directly communicating with the server. Microsoft's implementation of RPC is compatible with the Open Software Foundation (OSF) Distributed Computing Environment (DCE) RPC. For more information about RPC, see the RPC MSDN site.
What might an attacker use the vulnerability to do? An unauthenticated attacker could cause arbitrary code to run remotely in the context of SYSTEM by sending a specially crafted RPC request to the MSMQ service. 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? An attacker could exploit this vulnerability by sending a specially crafted RPC request to the MSMQ service. A heap request can be controlled and later overflowed during an unchecked string copy operation. Successful exploitation of this vulnerability could lead to full access of the affected system under the SYSTEM context.
What systems are primarily at risk from the vulnerability? Microsoft Windows 2000 systems with the MSMQ service enabled are the systems that are at risk.
What does the update do? The update removes the vulnerability by modifying the way that the MSMQ service validates parameters to the string APIs invoked by MSMQ.
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: •
TippingPoint and the Zero Day Initiative for reporting the MSMQ remote code execution vulnerability (CVE-2008-3479)
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.
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.
V1.0 (October 14, 2008): Bulletin published.