Security Bulletin

Microsoft Security Bulletin MS07-019 - Critical

Vulnerability in Universal Plug and Play Could Allow Remote Code Execution (931261)

Published: April 10, 2007

Version: 1.0

Summary

Who Should Read this Document: Customers who use Microsoft Windows

Impact of Vulnerability: Remote Code Execution

Maximum Severity Rating: Critical

Recommendation: Customers should apply the update immediately

Security Update Replacement: None

Caveats: None

Tested Software and Security Update Download Locations:

Affected Software:

  • Microsoft Windows XP Service Pack 2 β€” Download the update
  • Microsoft Windows XP Professional x64 Edition and Microsoft Windows XP Professional x64 Edition Service Pack 2β€” Download the update

Non-Affected Software:

  • Microsoft Windows 2000 Service Pack 4
  • Microsoft Windows Server 2003, Microsoft Windows Server 2003 Service Pack 1, and Microsoft Windows Server 2003 Service Pack 2
  • Microsoft Windows Server 2003 for Itanium-based Systems, Microsoft Windows Server 2003 with SP1 for Itanium-based Systems, and Microsoft Windows Server 2003 with SP2 for Itanium-based Systems
  • Microsoft Windows Server 2003 x64 Edition and Microsoft Windows Server 2003 x64 Edition Service Pack 2
  • Windows Vista
  • Windows Vista x64 Edition

The software in this list has been tested to determine whether the versions are affected. Other versions are either past their support life cycle or are not affected. To determine the support life cycle for your product and version, visit the Microsoft Support Lifecycle Web site.

General Information

Executive Summary

Executive Summary:

This update resolves a newly discovered, privately reported vulnerability. The vulnerability is documented in its own subsection in the Vulnerability Details section of this bulletin.

We recommend that customers apply the update immediately.

Severity Ratings and Vulnerability Identifiers:

Vulnerability Identifiers Impact of Vulnerability Microsoft Windows XP Service Pack 2
UPnP Memory Corruption Vulnerability - CVE-2007-1204 Remote Code Execution Critical

This assessment is based on the types of systems that are affected by the vulnerability, their typical deployment patterns, and the effect that exploiting the vulnerability would have on them.

Note The severity ratings for non-x86 operating system versions map to the x86 operating system versions as follows:

  • The Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2 severity ratings are the same as the Windows XP Service Pack 2 severity rating.

Can I use the Microsoft Baseline Security Analyzer (MBSA) to determine whether this update is required?
The following table provides the MBSA detection summary for this security update.

Product MBSA 1.2.1 MBSA 2.0.1
Microsoft Windows XP Service Pack 2 Yes Yes
Microsoft Windows XP Professional x64 Edition and Microsoft Windows XP Professional x64 Edition Service Pack 2 No Yes

For more information about MBSA, visit the MBSA Web site. For more information about the programs that Microsoft Update and MBSA 2.0 currently do not detect, see Microsoft Knowledge Base Article 895660.

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

Can I use Systems Management Server (SMS) to determine whether this update is required?
The following table provides the SMS detection summary for this security update.

Product SMS 2.0 SMS 2003
Microsoft Windows XP Service Pack 2 Yes Yes
Microsoft Windows XP Professional x64 Edition and Microsoft Windows XP Professional x64 Edition Service Pack 2 No Yes

SMS 2.0 and SMS 2003 Software Update Services (SUS) Feature Pack can use MBSA 1.2.1 for detection and therefore have the same limitation that is listed earlier in this bulletin related to programs that MBSA 1.2.1 does not detect.

For SMS 2.0, the SMS SUS Feature Pack, which includes the Security Update Inventory Tool (SUIT), can be used by SMS to detect security updates. SMS SUIT uses the MBSA 1.2.1 engine for detection. For more information about SUIT, visit the following Microsoft Web site. For more information about the limitations of SUIT, see Microsoft Knowledge Base Article 306460. The SMS SUS Feature Pack also includes the Microsoft Office Inventory Tool to detect required updates for Microsoft Office applications.

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, visit the following Microsoft Web site. SMS 2003 can also use the Microsoft Office Inventory Tool to detect required updates for Microsoft Office applications.

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.

I am using an older version of the software discussed in this security bulletin; what should I do?
The affected software listed in this bulletin has been tested to determine whether the versions are affected. Other versions are past their support life cycle. To determine the support life cycle for your product and version, visit the Microsoft Support Lifecycle Web site.

It should be a priority for customers who have older versions of the software to migrate to supported versions to prevent potential exposure to vulnerabilities. For more information about the Windows Product Lifecycle, visit the following Microsoft Support Lifecycle Web site. For more information about the extended security update support period for these operating system versions, 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.

Vulnerability Details

UPnP Memory Corruption Vulnerability - CVE-2007-1204:

A remote code execution vulnerability exists in the Universal Plug and Play service in the way that it handles specially crafted HTTP requests. An attacker who has successfully exploited this vulnerability could run arbitrary code in the context of local service.

Mitigating Factors for UPnP Memory Corruption Vulnerability - CVE-2007-1204:

  • An attacker who successfully exploited this vulnerability could run code in the context of the Local Service account only and could not run code under the Local SYSTEM account.
  • By default the UPnP service is set to manual on affected systems.
  • 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.

Workarounds for UPnP Memory Corruption Vulnerability - CVE-2007-1204:

Microsoft has tested the following workarounds. Although these workarounds will not correct the underlying vulnerability, they help block known attack vectors. When a workaround reduces functionality, it is identified in the following section.

  • Block the following at the firewall:

    • UDP port 1900 and TCP port 2869

    The UPnP framework uses UDP port 1900 and TCP port 2869. Simple Service Discovery Protocol (SSDP) uses multicast searches to discover UPnP devices. Multicast searches are sent to UDP port 1900 using dynamic outgoing ports. Windows Firewall accepts matching multicast search replies that are received within three seconds of a multicast search. Afterward, the firewall will block multicast search replies, even if they match the search requests. For additional information on effects on the UPnP service when configuring the firewall, see Microsoft Knowledge Base Article 886257.

    Impact of workaround:

    • The UPnP framework cannot discover networked UPnP devices that announce themselves. The firewall blocks these incoming announcements.
    • A control point running on another computer cannot find or control UPnP devices running on a computer running Windows XP SP2. The firewall blocks the incoming UPnP device-related messages.

    How to undo workaround:

    To undo the workaround, re-enable UDP port 1900 and TCP port 2869 on the firewall.

  • Disable the Universal Plug and Play service

    Disabling the UPnP service will help protect the affected computer from attempts to exploit this vulnerability. To disable the UPnP service, follow these steps:

    1. Click Start and then click Control Panel. Alternatively, point to Settings and then click Control Panel.
    2. Double-click Administrative Tools.
    3. Double-click Services.
    4. Double-click Universal Plug and Play Device Host.
    5. In the Startup type list, click Disabled.
    6. Click Stop, and then click OK.

    You can also stop and disable the UPnP service by using the following command at the command prompt:

    sc stop UPnPHost ≻ config UPnPHost start= disabled

    Impact of workaround: If you disable the UPnP service, components that are dependent on the UPnP service may not operate correctly.

    How to undo workaround:

    To undo the workaround, re-enable the UPnP service. To do so, follow these steps:

    1. Click Start and then click Control Panel. Alternatively, point to Settings and then click Control Panel.
    2. Double-click Administrative Tools.
    3. Double-click Services.
    4. Double-click Universal Plug and Play Device Host.
    5. In the Startup type list, click Manual.
    6. Click Start, and then click OK.
  • To help protect from network-based attempts to exploit this vulnerability, enable advanced TCP/IP filtering on systems that support this feature.

    You can enable advanced TCP/IP filtering to block all unsolicited inbound traffic. For more information about how to configure TCP/IP filtering, see Microsoft Knowledge Base Article 309798.

  • To help protect from network-based attempts to exploit this vulnerability, block the affected ports by using IPSec on the affected systems.

    Use Internet Protocol security (IPSec) to help protect network communications. Detailed information about IPSec and about how to apply filters is available in Microsoft Knowledge Base Article 313190 and Microsoft Knowledge Base Article 813878.

FAQ for UPnP Memory Corruption Vulnerability - CVE-2007-1204:

What is the scope of the vulnerability?
A remote code execution vulnerability exists in the Universal Plug and Play (UPnP) service in the way that it handles specially crafted HTTP requests. These HTTP requests could only be sent directly to a target computer by an attacker on the same subnet. The Windows XP firewall and the protocol enforce this subnet restriction. An attacker who successfully exploited this vulnerability could run arbitrary code in the context of the Local Service account.

What causes the vulnerability?
When the UPnP service handles specifically crafted HTTP requests it may corrupt system memory in such a way that an attacker could execute arbitrary code.

What is UPnP?
UPnP is a set of computer network protocols that extends Plug and Play to simplify the networking of intelligent devices in homes and businesses. When devices incorporating UPnP technology are physically connected to the network, they will connect automatically to one another over the network, without the need for user configuration or centralized servers.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of the affected system.

What systems are primarily at risk from the vulnerability?
Workstations and client computers are primarily at risk. Servers and terminal servers are not at risk as they do not include the affected UPnP component. Systems that have components installed that utilize UPnP functionality, may enable the UPnP service placing the system at risk.

Could the vulnerability be exploited over the Internet?
An attacker on the same subnet as the target computer could exploit this vulnerability. These HTTP requests could only be sent directly to a target computer by an attacker on the same subnet. In addition perimeter firewall best practices and standard perimeter firewall configurations can help protect against attacks that originate from the Internet.

What does the update do?
The update removes the vulnerability by modifying the way that UPnP validates HTTP requests before passing data 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.

Security Update Information

Affected Software:

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

Windows XP (all versions)

Prerequisites This security update requires Windows XP Service Pack 2 or Windows XP Professional x64 Edition. For more information on how to obtain the latest Windows XP service pack, see Microsoft Knowledge Base Article 322389. For more information on how to how to obtain Service Pack 2 for Windows XP Professional, x64 Edition, see the following link to the Download Center.

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup.

Installation Information

This security update supports the following setup switches.

Switch Description
/help Displays the command-line options.
Setup Modes
/passive Unattended Setup mode. No user interaction is required, but installation status is displayed. If a restart is required at the end of setup, a dialog box will be presented to the user with a timer warning that the computer will restart in 30 seconds.
/quiet Quiet mode. This is the same as unattended mode, but no status or error messages are displayed.
Restart Options
/norestart Does not restart when installation has completed.
/forcerestart Restarts the computer after installation and forces other applications to close at shutdown without saving open files first.
/warnrestart[:x] Displays a dialog box with a timer warning the user that the computer will restart in x seconds. (The default setting is 30 seconds.) Intended for use with the /quiet switch or the /passive switch.
/promptrestart Display a dialog box prompting the local user to allow a restart.
Special Options
/overwriteoem Overwrites OEM files without prompting.
/nobackup Does not back up files needed for uninstallation.
/forceappsclose Forces other programs to close when the computer shuts down.
/log:path Allows the redirection of installation log files.
/integrate:path Integrates the update into the Windows source files. These files are located at the path that is specified in the switch.
/extract[:path] Extracts files without starting the Setup program.
/ER Enables extended error reporting.
/verbose Enables verbose logging. During installation, creates %Windir%\CabBuild.log. This log details the files that are copied. Using this switch may cause the installation to proceed more slowly.

Note You can combine these switches into one command. For backward compatibility, the security update also supports the setup switches that the earlier version of the Setup program uses. For more information about the supported installation switches, see Microsoft Knowledge Base Article 262841. For more information about the Update.exe installer, visit the Microsoft TechNet Web site.

Deployment Information

To install the security update without any user intervention, use the following command at a command prompt for Microsoft Windows XP:

Windowsxp-kb931261-x86-enu /quiet

Note Use of the /quiet switch will suppress all messages. This includes suppressing failure messages. Administrators should use one of the supported methods to verify the installation was successful when they use the /quiet switch. Administrators should also review the KB931261.log file for any failure messages when they use this switch.

To install the security update without forcing the system to restart, use the following command at a command prompt for Windows XP:

Windowsxp-kb931261-x86-enu /norestart

For information about how to deploy this security update by using Software Update Services, visit the Software Update Services Web site. For more information about how to deploy this security update using Windows Server Update Services, visit the Windows Server Update Services Web site. This security update will also be available through the Microsoft Update Web site.

Restart Requirement

You must restart your system after you apply this security update. For more information about the reasons why you may be prompted to restart your computer, see Microsoft Knowledge Base Article 887012.

Removal Information

To remove this security update, use the Add or Remove Programs tool in Control Panel.

System administrators can also use the Spuninst.exe utility to remove this security update. The Spuninst.exe utility is located in the %Windir%\$NTUninstallKB931261$\Spuninst folder.

Switch Description
/help Displays the command-line options.
Setup Modes
/passive Unattended Setup mode. No user interaction is required, but installation status is displayed. If a restart is required at the end of setup, a dialog box will be presented to the user with a timer warning that the computer will restart in 30 seconds.
/quiet Quiet mode. This is the same as unattended mode, but no status or error messages are displayed.
Restart Options
/norestart Does not restart when installation has completed.
/forcerestart Restarts the computer after installation and forces other applications to close at shutdown without saving open files first.
/warnrestart[:x] Displays a dialog box with a timer warning the user that the computer will restart in x seconds. (The default setting is 30 seconds.) Intended for use with the /quiet switch or the /passive switch.
/promptrestart Display a dialog box prompting the local user to allow a restart.
Special Options
/forceappsclose Forces other programs to close when the computer shuts down.
/log:path Allows the redirection of installation log files.

File Information

The English version of this security update has the file attributes that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

Windows XP Home Edition Service Pack 2, Windows XP Professional Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows XP Media Center Edition 2005:

File Name Version Date Time Size Folder
Upnphost.dll 5.1.2600.3077 05-Feb-2007 20:17 185,344 SP2GDR
Upnphost.dll 5.1.2600.3077 05-Feb-2007 20:19 185,344 SP2QFE

Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2:

File Name Version Date Time Size CPU Folder
upnphost.dll 5.2.3790.2878 08-Feb-2007 16:41 322,048 x64 SP1GDR
wupnphost.dll 5.2.3790.2878 08-Feb-2007 16:41 189,952 X86 SP1GDR\WOW
upnphost.dll 5.2.3790.2878 08-Feb-2007 16:41 322,048 x64 SP1QFE
wupnphost.dll 5.2.3790.2878 08-Feb-2007 16:41 189,952 X86 SP1QFE\WOW
upnphost.dll 5.2.3790.4019 08-Feb-2007 16:51 322,048 x64 SP2GDR
wupnphost.dll 5.2.3790.4019 08-Feb-2007 16:51 189,952 X86 SP2GDR\WOW
upnphost.dll 5.2.3790.4019 08-Feb-2007 16:40 322,048 x64 SP2QFE
wupnphost.dll 5.2.3790.4019 08-Feb-2007 16:40 189,952 X86 SP2QFE\WOW

Notes When you install these security updates, the installer checks to see if one or more of the files that are being updated on your system have previously been updated by a Microsoft hotfix.

If you have previously installed a hotfix to update one of these files, the installer copies the RTMQFE, SP1QFE, or SP2QFE files to your system. Otherwise, the installer copies the RTMGDR, SP1GDR, or SP2GDR files to your system. Security updates may not contain all variations of these files. For more information about this behavior, see Microsoft Knowledge Base Article 824994.

For more information about the Update.exe installer, visit the Microsoft TechNet Web site.

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

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 frequently asked question, β€œCan I use the Microsoft Baseline Security Analyzer (MBSA) to determine whether this update is required?” in the section, Frequently Asked Questions (FAQ) Related to This Security Update, earlier in this bulletin.

  • File Version Verification

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

    1. Click Start, and then click Search.

    2. In the Search Results pane, click All files and folders under Search Companion.

    3. In the All or part of the file name box, type a file name from the appropriate file information table, and then click Search.

    4. In the list of files, right-click a file name from the appropriate file information table, and then click Properties.

      Note Depending on the version of the operating system or programs installed, some of the files that are listed in the file information table may not be installed.

    5. On the Version tab, determine the version of the file that is installed on your computer by comparing it to the version that is documented in the appropriate file information table.

      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.

  • Registry Key Verification

    You may also be able to verify the files that this security update has installed by reviewing the following registry keys.

    For Windows XP Home Edition Service Pack 2, Windows XP Professional Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows XP Media Center Edition 2005:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB931261\Filelist

    For Windows XP Professional x64 Edition and Windows XP Professional x64 Service Pack 2:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP Version 2003\SP3\KB931261\Filelist

    Note These registry keys may not contain a complete list of installed files. Also, these registry keys may not be created correctly if an administrator or an OEM integrates or slipstreams the 931261 security update into the Windows installation source files.

Other Information

Acknowledgments

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

  • Greg MacManus of iDefense Labs for reporting the UPnP Memory Corruption Vulnerability (CVE-2007-1204).

Obtaining Other Security Updates:

Updates for other security issues are available at the following locations:

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.

Security Resources:

Software Update Services:

By using Microsoft Software Update Services (SUS), administrators can quickly and reliably deploy the latest critical updates and security updates to Windows 2000 and Windows Server 2003-based servers, and to desktop systems that are running Windows 2000 Professional or Windows XP Professional.

For more information about how to deploy security updates by using Software Update Services, visit the Software Update Services Web site.

Windows Server Update Services:

By using Windows Server Update Services (WSUS), administrators can quickly and reliably deploy the latest critical updates and security updates for Windows 2000 operating systems and later, Office XP and later, Exchange Server 2003, and SQL Server 2000 onto Windows 2000 and later operating systems.

For more information about how to deploy security updates using Windows Server Update Services, visit the Windows Server Update Services Web site.

Systems Management Server:

Microsoft Systems Management Server (SMS) delivers a highly configurable enterprise solution for managing updates. By using SMS, administrators can identify Windows-based systems that require security updates and can perform controlled deployment of these updates throughout the enterprise with minimal disruption to end users. For more information about how administrators can use SMS 2003 to deploy security updates, visit the SMS 2003 Security Patch Management Web site. SMS 2.0 users can also use Software Updates Service Feature Pack to help deploy security updates. For information about SMS, visit the SMS Web site.

Note SMS uses the Microsoft Baseline Security Analyzer, the Microsoft Office Detection Tool, and the Enterprise Update Scan Tool to provide broad support for security bulletin update detection and deployment. Some software updates may not be detected by these tools. Administrators can use the inventory capabilities of the SMS in these cases to target updates to specific systems. For more information about this procedure, visit the following Web site. Some security updates require administrative rights following a restart of the system. Administrators can use the Elevated Rights Deployment Tool (available in the SMS 2003 Administration Feature Pack and in the SMS 2.0 Administration Feature Pack) to install these updates.

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 (April 10, 2007): Bulletin published.

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