Security Bulletin

Microsoft Security Bulletin MS09-063 - Critical

Vulnerability in Web Services on Devices API Could Allow Remote Code Execution (973565)

Published: November 10, 2009

Version: 1.0

General Information

Executive Summary

This security update resolves a privately reported vulnerability in the Web Services on Devices Application Programming Interface (WSDAPI) on the Windows operating system. The vulnerability could allow remote code execution if an affected Windows system receives a specially crafted packet. Only attackers on the local subnet would be able to exploit this vulnerability.

This security update is rated Critical for all supported editions of Windows Vista and Windows Server 2008. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerability by correcting the processing of headers in WSD messages. 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. The majority of customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

See also the section, Detection and Deployment Tools and Guidance, later in this bulletin.

Known Issues. None

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
Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2 Remote Code Execution Critical None
Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2 Remote Code Execution Critical None
Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2* Remote Code Execution Critical None
Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2* Remote Code Execution Critical None
Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2 Remote Code Execution Critical None

*Server Core installation affected. This update applies, with the same severity rating, to supported editions of Windows Server 2008 or Windows Server 2008 R2 as indicated, whether or not installed using the Server Core installation option. For more information on this installation option, see the MSDN articles, Server Core and Server Core for Windows Server 2008 R2. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008 and Windows Server 2008 R2; see Compare Server Core Installation Options.

Non-Affected Software

Operating System
Microsoft Windows 2000 Service Pack 4
Windows XP Service Pack 2 and Windows XP Service Pack 3
Windows XP Professional x64 Edition Service Pack 2
Windows Server 2003 Service Pack 2
Windows Server 2003 x64 Edition Service Pack 2
Windows Server 2003 with SP2 for Itanium-based Systems
Windows 7 for 32-bit Systems
Windows 7 for x64-based Systems
Windows Server 2008 R2 for x64-based Systems
Windows Server 2008 R2 for Itanium-based Systems

What is Microsoft Web Services on Devices?
Web Services on Devices allows a Windows client to discover and access remote devices, such as personal digital assistants (PDAs) and computer peripherals, including printers and cameras, as well as consumer electronics and their associated services across a network. It supports device discovery, description, and control. Developers can create WSDAPI client proxies and corresponding stubs for device hosts.

Web Services on Devices API (WSDAPI) implements the Devices Profile for Web Services (DPWS) for Windows Vista and Windows Server 2008. The DPWS constrains Web Services specifications so that Windows clients can easily discover devices. Once a device is discovered, a client can retrieve a description of services hosted on that device and use those services.

Where are the file information details?
Refer to the reference tables in the Security Update Deployment section for the location of the file information details.

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. For more information about the product lifecycle, visit the Microsoft Support Lifecycle Web site.

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. To determine the support lifecycle for your software release, see Select a Product for Lifecycle Information. For more information about service packs for these software releases, see Lifecycle Supported Service Packs.

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 in the Contact Information list, 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 Microsoft Support Lifecycle Policy FAQ.

Vulnerability Information

Severity Ratings and Vulnerability Identifiers

The following severity ratings assume the potential maximum impact of the vulnerability. For information regarding the likelihood, within 30 days of this security bulletin's release, of the exploitability of the vulnerability in relation to its severity rating and security impact, please see the Exploitability Index in the November bulletin summary. For more information, see Microsoft Exploitability Index.

Affected Software Web Services on Devices API Memory Corruption Vulnerability - CVE-2009-2512 Aggregate Severity Rating
Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2 Critical \ Remote Code Execution Critical
Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2 Critical \ Remote Code Execution Critical
Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2* Critical \ Remote Code Execution Critical
Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2* Critical \ Remote Code Execution Critical
Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2 Critical \ Remote Code Execution Critical

*Server Core installation affected. This update applies, with the same severity rating, to supported editions of Windows Server 2008 and Windows Server 2008 R2, whether or not installed using the Server Core installation option. For more information on this installation option, see the MSDN articles, Server Core and Server Core for Windows Server 2008 R2. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008 and Windows Server 2008 R2; see Compare Server Core Installation Options.

Web Services on Devices API Memory Corruption Vulnerability - CVE-2009-2512

A remote code execution vulnerability exists in the Web Services on Devices API (WSDAPI) on Windows systems. The vulnerability is due to the service not properly handling a WSDAPI message with a specially crafted header. 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-2009-2512.

Mitigating Factors for Web Services on Devices API Memory Corruption Vulnerability - CVE-2009-2512

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:

  • 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.
  • Only attackers on the local subnet would be able to exploit this vulnerability without interaction. Even on private networks, the vulnerable service is only exposed to incoming connections from the local subnet in the Windows firewall.

Workarounds for Web Services on Devices API Memory Corruption Vulnerability - CVE-2009-2512

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 inbound TCP ports 5357 and 5358, and outbound UDP port 3702

    Configure the Windows Firewall to block inbound TCP ports 5357 and 5358, and outbound UDP port 3702.

    Blocking the inbound ports prevents malicious remote hosts from sending specially crafted headers to the affected component. The affected computer may also initiate a connection with remote, potentially malicious, hosts when the user chooses to browse devices on the subnet. Blocking the outbound port will prevent malicious hosts from sending specially crafted replies in this scenario.

    It should be noted that it will still be possible for a user to manually enter the URL of a malicious device and initiate a connection that could allow the malicious device to compromise the user's system. This attack would require significant social engineering.

    Impact of workaround. Device discovery will not work while this workaround is enabled.

FAQ for Web Services on Devices API Memory Corruption Vulnerability - CVE-2009-2512

What is the scope of the vulnerability? 
This is a remote code execution vulnerability. An attacker who successfully exploited this vulnerability could take complete control of an affected system remotely. If successfully exploited, an attacker could then install programs or view, change, or delete data; or create new accounts with full user rights.

What causes the vulnerability? 
This vulnerability is caused by the WSD Application Programming Interface (API), on both clients and servers, not correctly validating specific headers of a received WSD message.

What is Microsoft Web Services on Devices? 
Web Services on Devices allows a Windows client to discover and access remote devices, such as personal digital assistants (PDAs) and computer peripherals, including printers and cameras, as well as consumer electronics and their associated services across a network. It supports device discovery, description, and control. Developers can create WSDAPI client proxies and corresponding stubs for device hosts.

Web Services on Devices API (WSDAPI) implements the Devices Profile for Web Services (DPWS) for Windows Vista and Windows Server 2008. The DPWS constrains Web Services specifications so that Windows clients can easily discover devices. Once a device is discovered, a client can retrieve a description of services hosted on that device and use those services.

Is Web Services for Devices enabled by default? 
Web Services for Devices is an Application Programming Interface (API) that can be used by various system components. On all affected platforms, the API is available by default. However, the vulnerability can only be exploited remotely and without user interaction when a service or application uses the API and exposes TCP port 5357 or 5358 or performs remote device discovery. This is likely to be the case in common scenarios that involve connecting supported devices such as printers and video devices to the network.

What might an attacker use the vulnerability to do? 
An attacker who successfully exploited this vulnerability could take complete control of the affected Windows system. An attacker could then install programs or view, change, or delete data; or create new accounts with full user rights.

How could an attacker exploit the vulnerability? 
An attacker could try to exploit the vulnerability by sending a specially crafted message to the WSD TCP ports 5357 or 5358 on an affected system. Alternatively, an attacker could send a specially crafted response to a WSD message querying for devices, when initiated by the Windows client. Note that applications that use the WSDAPI may use ports other than TCP ports 5357 and 5358, which are the defaults.

What systems are primarily at risk from the vulnerability? 
All systems using WSDAPI for communicating with DPWS-based devices or services on the network are affected by this vulnerability. Workstations are at particular risk when they have their Windows firewall configuration set to anything else but "public".

What does the update do? 
The update addresses this vulnerability by correctly processing WSD message headers.

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.

Update Information

Detection and Deployment Tools and Guidance

Manage the software and security updates you need to deploy to the servers, desktop, and mobile systems in your organization. For more information see the TechNet Update Management Center. The Microsoft TechNet Security Web site provides additional information about security in Microsoft products.

Security updates are available from Microsoft Update and Windows Update. Security updates are also available from the Microsoft Download Center. You can find them most easily by doing a keyword search for "security update."

Finally, security updates can be downloaded from the Microsoft Update Catalog. The Microsoft Update Catalog provides a searchable catalog of content made available through Windows Update and Microsoft Update, including security updates, drivers and service packs. By searching using the security bulletin number (such as, "MS07-036"), you can add all of the applicable updates to your basket (including different languages for an update), and download to the folder of your choosing. For more information about the Microsoft Update Catalog, see the Microsoft Update Catalog FAQ.

Note Microsoft discontinued support for Office Update and the Office Update Inventory Tool as of August 1, 2009. To continue getting the latest updates for Microsoft Office products, use Microsoft Update. For more information, see About Microsoft Office Update: Frequently Asked Questions.

Detection and Deployment Guidance

Microsoft provides detection and deployment guidance for security updates. This guidance contains recommendations and information that can help IT professionals understand how to use various tools for detection and deployment of security updates. For more information, see Microsoft Knowledge Base Article 961747.

Microsoft Baseline Security Analyzer

Microsoft Baseline Security Analyzer (MBSA) allows administrators to scan local and remote systems for missing security updates as well as common security misconfigurations. For more information about MBSA, visit Microsoft Baseline Security Analyzer.

The following table provides the MBSA detection summary for this security update.

Software MBSA 2.1.1
Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2 Yes
Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2 Yes
Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2 Yes
Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2 Yes
Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2 Yes

The latest version of MBSA has been released: Microsoft Baseline Security Analyzer 2.1.1. For more information, see Microsoft Baseline Security Analyzer 2.1.

Windows Server Update Services

By using Windows Server Update Services (WSUS), administrators can deploy the latest critical updates and security updates for Microsoft Windows 2000 operating systems and later, Office XP and later, Exchange Server 2003, and SQL Server 2000. For more information about how to deploy this security update using Windows Server Update Services, visit the Windows Server Update Services Web site.

Systems Management Server

The following table provides the SMS detection and deployment summary for this security update.

Software SMS 2.0 SMS 2003 with SUIT SMS 2003 with ITMU Configuration Manager 2007
Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2 No No Yes Yes
Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2 No No Yes Yes
Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2 No No Yes Yes
Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2 No No Yes Yes
Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2 No No Yes Yes

For SMS 2.0 and SMS 2003, the Security Update Inventory Tool (SUIT) can be used by SMS to detect security updates. See also Downloads for Systems Management Server 2.0.

For SMS 2003, the SMS 2003 Inventory Tool for Microsoft Updates (ITMU) can be used by SMS to detect security updates that are offered by Microsoft Update and that are supported by Windows Server Update Services. For more information about the SMS 2003 ITMU, see SMS 2003 Inventory Tool for Microsoft Updates. For more information about SMS scanning tools, see SMS 2003 Software Update Scanning Tools. See also Downloads for Systems Management Server 2003.

System Center Configuration Manager 2007 uses WSUS 3.0 for detection of updates. For more information about Configuration Manager 2007 Software Update Management, visit System Center Configuration Manager 2007.

For more information about SMS, visit the SMS Web site.

For more detailed information, see Microsoft Knowledge Base Article 910723: Summary list of monthly detection and deployment guidance articles.

Update Compatibility Evaluator and Application Compatibility Toolkit

Updates often write to the same files and registry settings required for your applications to run. This can trigger incompatibilities and increase the time it takes to deploy security updates. You can streamline testing and validating Windows updates against installed applications with the Update Compatibility Evaluator components included with Application Compatibility Toolkit.

The Application Compatibility Toolkit (ACT) contains the necessary tools and documentation to evaluate and mitigate application compatibility issues before deploying Microsoft Windows Vista, a Windows Update, a Microsoft Security Update, or a new version of Windows Internet Explorer in your environment.

Security Update Deployment

Affected Software

For information about the specific security update for your affected software, click the appropriate link:

Windows Vista (all editions)

Reference Table

The following table contains the security update information for this software. You can find additional information in the subsection, Deployment Information, in this section.

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment
Installing without user intervention For all supported 32-bit editions of Windows Vista:\ Windows6.0-KB973565-x86 /quiet\ \ For all supported x64-based editions of Windows Vista:\ Windows6.0-KB973565-x64 /quiet
Installing without restarting For all supported 32-bit editions of Windows Vista:\ Windows6.0-KB973565-x86 /quiet /norestart\ \ For all supported x64-based editions of Windows Vista:\ Windows6.0-KB973565-x64 /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement
Restart required? Yes, you must restart your system after you apply this security update.
HotPatching Not applicable.
Removal Information WUSA.exe does not support uninstall of updates. To uninstall an update installed by WUSA, click Control Panel, and then click Security. Under Windows Update, click View installed updates and select from the list of updates.
File Information See Microsoft Knowledge Base Article 973565
Registry Key Verification Note A registry key does not exist to validate the presence of this update.

Deployment Information

Installing the Update

When you install this security update, the installer checks whether one or more of the files that are being updated on your system have previously been updated by a Microsoft hotfix.

For more information about the terminology that appears in this bulletin, such as hotfix, see Microsoft Knowledge Base Article 824684.

This security update supports the following setup switches.

Supported Security Update Installation Switches

Switch Description
/?, /h, /help Displays help on supported switches.
/quiet Suppresses the display of status or error messages.
/norestart When combined with /quiet, the system will not be restarted after installation even if a restart is required to complete installation.

Note For more information about the wusa.exe installer, see Microsoft Knowledge Base Article 934307.

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

    To verify that a security update has been applied to an affected system, you may be able to use the Microsoft Baseline Security Analyzer (MBSA) tool. See the section, Detection and Deployment Tools and Guidance, earlier in this bulletin for more information.

  • File Version Verification

    Because there are several editions of Microsoft Windows, the following steps may be different on your system. If they are, see your product documentation to complete these steps.

    1. Click Start and then enter an update file name in Start Search.
    2. When the file appears under Programs, right-click on the file name and click Properties.
    3. Under the General tab, compare the file size with the file information tables provided in the bulletin KB article.
    4. You may also click on the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
    5. Finally, you may also click on the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Windows Server 2008 (all editions)

Reference Table

The following table contains the security update information for this software. You can find additional information in the subsection, Deployment Information, in this section.

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment
Installing without user intervention For all supported 32-bit editions of Windows Server 2008:\ Windows6.0-KB973565-x86 /quiet\ \ For all supported x64-based editions of Windows Server 2008:\ Windows6.0-KB973565-x64 /quiet\ \ For all supported Itanium-based editions of Windows Server 2008:\ Windows6.0-KB973565-ia64 /quiet
Installing without restarting For all supported 32-bit editions of Windows Server 2008:\ Windows6.0-KB973565-x86 /quiet /norestart\ \ For all supported x64-based editions of Windows Server 2008:\ Windows6.0-KB973565-x64 /quiet /norestart\ \ For all supported Itanium-based editions of Windows Server 2008:\ Windows6.0-KB973565-ia64 /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement
Restart required? Yes, you must restart your system after you apply this security update.
HotPatching Not applicable.
Removal Information WUSA.exe does not support uninstall of updates. To uninstall an update installed by WUSA, click Control Panel, and then click Security. Under Windows Update, click View installed updates and select from the list of updates.
File Information See Microsoft Knowledge Base Article 973565
Registry Key Verification Note A registry key does not exist to validate the presence of this update.

Deployment Information

Installing the Update

When you install this security update, the installer checks whether one or more of the files that are being updated on your system have previously been updated by a Microsoft hotfix.

For more information about the terminology that appears in this bulletin, such as hotfix, see Microsoft Knowledge Base Article 824684.

This security update supports the following setup switches.

Supported Security Update Installation Switches

Switch Description
/?, /h, /help Displays help on supported switches.
/quiet Suppresses the display of status or error messages.
/norestart When combined with /quiet, the system will not be restarted after installation even if a restart is required to complete installation.

Note For more information about the wusa.exe installer, see Microsoft Knowledge Base Article 934307.

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

    To verify that a security update has been applied to an affected system, you may be able to use the Microsoft Baseline Security Analyzer (MBSA) tool. See the section, Detection and Deployment Tools and Guidance, earlier in this bulletin for more information.

  • File Version Verification

    Because there are several editions of Microsoft Windows, the following steps may be different on your system. If they are, see your product documentation to complete these steps.

    1. Click Start and then enter an update file name in Start Search.
    2. When the file appears under Programs, right-click on the file name and click Properties.
    3. Under the General tab, compare the file size with the file information tables provided in the bulletin KB article.
    4. You may also click on the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
    5. Finally, you may also click on the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Other Information

Acknowledgments

Microsoft thanks the following for working with us to help protect customers:

  • Neel Mehta of Google Inc. for reporting the Web Services on Devices API Memory Corruption Vulnerability (CVE-2009-2512)

Microsoft Active Protections Program (MAPP)

To improve security protections for customers, Microsoft provides vulnerability information to major security software providers in advance of each monthly security update release. Security software providers can then use this vulnerability information to provide updated protections to customers via their security software or devices, such as antivirus, network-based intrusion detection systems, or host-based intrusion prevention systems. To determine whether active protections are available from security software providers, please visit the active protections Web sites provided by program partners, listed in Microsoft Active Protections Program (MAPP) Partners.

Support

  • Customers in the U.S. and Canada can receive technical support from Security Support or 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. For more information about available support options, see Microsoft Help and Support.
  • 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.

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.

Revisions

  • V1.0 (November 10, 2009): Bulletin published.

Built at 2014-04-18T13:49:36Z-07:00