Security Bulletin

Microsoft Security Bulletin MS01-054 - Low

Invalid Universal Plug and Play Request can Disrupt System Operation

Published: November 01, 2001 | Updated: June 13, 2003

Version: 2.7

Originally posted: November 01, 2001
Updated: June 13, 2003

Summary

Who should read this bulletin:
Customers using Microsoft® Windows® ME or XP, or who have installed the Windows XP Internet Connection Sharing client on Windows 98 or 98SE.

Impact of vulnerability:
Denial of service

Maximum Severity Rating:
Low

Recommendation:
Windows XP customers should apply the Critical Update listed below in Patch Availability, as it contains fixes for a number of issues, including this one. Customers using Windows 98, 98SE or ME should apply the patch if the Universal Plug and Play service is installed and running.

Affected Software:

  • Microsoft Windows 98

  • Microsoft Windows 98SE

  • Microsoft Windows ME

  • Microsoft Windows XP

    Note: Windows 98 and 98SE are only affected if the Internet Connection Sharing that ships with Windows XP has been installed on the machine.

General Information

Technical details

Technical description:

On November 08, 2001 Microsoft discovered that the Windows ME patch failed to properly register the upnp.dll. On November 13, 2001, Microsoft released a corrected version of the Windows ME patch. Microsoft recommends that customers who installed the original Windows ME patch download and install the new one. Customers using other systems do not need to take any additional action, as only the Windows ME patch contained the error.

The Universal Plug and Play (UPnP) service allows computers to discover and use network-based devices. Windows ME and XP include native UPnP services; Windows 98 and 98SE do not include a native UPnP service, but one can be installed via the Internet Connection Sharing client that ships with Windows XP.

A vulnerability results because the UPnP service does not correctly handle certain types of invalid UPnP requests. On Windows 98, 98SE, and ME systems, receiving such a request could cause a variety of effects ranging from slow performance to system failure. On Windows XP, the effect is less serious as the flaw consists of a memory leak. Each time a Windows XP system received such a request, a small amount of system memory would become unavailable; if repeated many times, it could deplete system resources to the point where performance slowed or stopped altogether.

Mitigating factors:

General:

  • Standard firewalling practices (specifically, blocking ports 1900 and 5000) could be used to protect corporate networks from Internet-based attacks.

Windows 98 and 98SE:

  • There is no native UPnP support for these systems. Windows 98 and 98SE systems would only be affected if the Internet Connection Sharing Client from Windows XP had been installed on the system.

Windows ME:

  • Windows ME provides native UPnP support, but it is neither installed nor running by default. (However, some OEMs do configure pre-built systems with the service installed and running).

Windows XP:

  • Internet Connection Firewall, which runs by default, would impede an attacker's ability to locate and attack the system.

Severity Rating:

Internet Servers Intranet Servers Client Systems
Windows 98 None None Low
Windows 98SE None None Low
Windows ME None None Low
Windows XP None None Low

The above assessment is based on the types of systems affected by the vulnerability, their typical deployment patterns, and the effect that exploiting the vulnerability would have on them. The vulnerability only affects client operating systems on which the UPnP service is running, and poses a denial of service vulnerability at worst.

Vulnerability identifier: CAN-2001-0721

Tested Versions:

Microsoft tested Windows ME, Windows NT 4.0, Windows 2000 and Windows XP, and the UPnP service that can be installed on Windows 98 and 98SE, to assess whether they are affected by these vulnerabilities. Previous versions are no longer supported, and may or may not be affected by these vulnerabilities.

Frequently asked questions

Why was this bulletin updated?
On November 08, 2001, we updated the bulletin to advise customers of an error affecting the patch for Windows ME. In certain cases, applying the patch could cause the system to fail. On November 13, 2001, we updated the bulletin a second time, to announce the availability of a corrected patch. Customers who applied the original Windows ME patch should download and install the new one. It is not necessary to uninstall the old patch before installing the corrected one.

Were any versions of the patch other than Windows ME affected by the problem?
No. Only the Windows ME version contained the error.

What's the scope of the vulnerability?
This is a denial of service vulnerability. By sending a particular set of commands to an affected Windows 98, 98SE or ME machine, an attacker could cause a variety of effects, from slowing the machine's performance to causing it to fail altogether. The effect on a Windows XP machine would be less serious: at worst, the attacker could gradually deplete resources on the system to the point where performance could be slowed or stopped altogether. There are a number of important restrictions affecting this vulnerability:

  • On Windows 98 and 98SE, the service is only available if the user has installed an optional add-on package.
  • On Windows ME, the affected component is available as part of the operating system but is not installed by default. (Some hardware manufacturers do, however, install it on the systems they sell)
  • Windows NT 4.0 and Windows 2000 are not affected at all by the vulnerability.
  • On Windows XP, the affected component is installed but not running by default. Even if it were running, Internet Connection Firewall would significantly reduce an attacker's ability to locate the machine.

What causes the vulnerability?
The vulnerability results because the Universal Plug and Play service that either ships with or can be installed on Windows 98, 98SE, ME and XP do not correctly handle certain requests. In Windows 98, 98SE and ME, these requests can cause an access violation and result in the system failing; in Windows XP, they cause a memory leak that, if exploited repeatedly, could deplete system resources to the point where the system performance was degraded.

What is Universal Plug and Play?
Universal Plug and Play (UPnP) is a capability that allows devices on a network to discover other devices and determine how to work with them. UPnP is most easily understood by comparison to plug-and-play (PnP) capability that most Windows users already are familiar with. PnP allows the operating system to detect new hardware when you install it on a system. For instance, if you install a new mouse onto your computer, PnP allows Windows to detect it, load the needed drivers, and begin using it. UPnP extends this concept, and lets devices automatically recognize other devices on the network, rather than on the system. For instance, using UPnP, a computer that's been added to a network could detect whether there are printers on the network, and subsequently be able to control them.

What operating systems support UPnP?

  • Neither Windows 98 nor Windows 98SE include a native UPnP capability. It can only be added by installing the Internet Connection Sharing client provided in Windows XP.
  • Windows ME includes a native UPnP capability, but it is neither installed nor running by default.
  • Neither Windows NT 4.0 nor Windows 2000 support UPnP.
  • Windows XP includes a native UPnP capability. It is installed and running by default.

What's wrong with the UPnP service?
The service does not correctly handle certain types of invalid UPnP requests. The specific effects of receiving such a request vary, depending on which operating system is in use.

What's the effect of receiving such a request on a Windows 98, 98SE or ME system?
In these implementations, such a request could either degrade system performance or cause the system to fail altogether. The user could restore normal operation by rebooting the system.

What's the effect of receiving such a request on a Windows XP system?
On Windows XP, receiving such a request would deplete the system memory by a small amount. If the request were repeatedly sent over time, it could gradually deplete system memory to the point where it would slow or stop the system. The user could restore normal operation by rebooting the system.

What's the effect of receiving such a request on a Windows NT 4.0 or Windows 2000 system?
Neither Windows NT 4.0 nor Windows 2000 support UPnP, and as a result neither is affected by the vulnerability.

How could an attack exploit this vulnerability?
An attacker could exploit the vulnerability by locating a system that has the UPnP service installed and running, and sending it the UPnP requests we've discussed above.

You said that the attacker would need to locate a vulnerable system first. Would this be difficult?
It would be, in the case of Windows XP. Windows XP ships with Internet Connection Firewall (ICF), the goal of which is to effectively make the system invisible on the network - that is, it causes the system to not respond to pings, port scans, and other measures that attackers might use to locate a system. ICF is installed and running by default.

Could an attacker exploit this vulnerability from the Internet against machines within a corporate network?
If proper firewalling is in place, Internet-based attacks would not be possible. The ports over which UPnP operates (ports 1900 and 5000) should be blocked at the firewall.

How can I determine whether the UPnP service is installed on my machine?
For Windows 98, 98SE, and ME:

  1. Select Start, then Settings, then Control Panel
  2. Select Add/Remove Programs
  3. Select the Windows Setup tab.
  4. Open the Communications sub-item
  5. If the checkbox for Universal Plug and Play is checked, the service is installed and running.

For Windows XP:

  1. Select Start, then right-click on My Computer and select Manage
  2. Select Services and Applications, then select Services
  3. Scan the list of services and locate the one named Universal Plug and Plug Device Host.
  4. Check the column titled Status. If it says Started, the service is installed and running.

If UPnP is running on my machine, will turning it off protect me against the vulnerability?
Yes. If the service isn't running, the vulnerability can't be exploited.

How can I turn off the service?
For Windows 98, 98SE, and ME:

  1. Select Start, then Settings, then Control Panel
  2. Select Add/Remove Programs
  3. Select the Windows Setup tab
  4. Open the Communications sub-item
  5. Uncheck the Universal Plug and Play selection

For Windows XP:

  1. Select Start, then right-click on My Computer and select Manage
  2. Select Services and Applications, then select Services
  3. Scan the list of services and locate the one named Universal Plug and Plug Device Host.
  4. Right-click on the service, and select Properties
  5. In the section titled Service Status, click on Stop
  6. In the pull-down box titled Startup Type, select Disabled

What does the patch do?
In Windows 98, 98SE and ME, the fix is delivered via an update to the UPnP service, which eliminates a number of eliminates this vulnerability as well as a number of other less serious bugs in the UPnP service. In Windows XP, the fix is delivered as part of the first Windows XP Critical Update, which corrects a number of other issues, some security-related, in addition to this one.

I downloaded the original WindowsME patch, what do I need to do?
Customers who downloaded the original WindowsME patch can either download and apply the updated patch, or follow a manual fix that corrects the problem with the original patch.

What's the manual fix for correcting the problem in the original WindowsME patch?
Customers who downloaded the original WindowsME patch can fix the issues introduced by that patch by:

  • Go to the Start button.
  • Select "Run"
  • Type "regsvr32 upnp.dll" (without quotes) and hit "OK".

I did that, but I'm still having problems, what should I do?
If you are still having problems with the WindowsME patch, you should contact Microsoft Product Support Services. All calls related to security patches are free of charge.

Patch availability

Download locations for this patch

Additional information about this patch

Installation platforms:

  • The patch for Windows 98 and 98SE can be installed on any Windows 98 or 98SE system on which the Windows XP Internet Connection Sharing client has been installed.
  • The patch for Windows ME can be installed on systems running Windows ME Gold.
  • The patch for Windows XP can be installed on systems running Windows XP Gold.

Inclusion in future service packs:

  • No future service packs are planned for Windows 98, 98SE or ME.
  • The fix for this issue will be included in Windows XP Service Pack 1.

Reboot needed: Yes

Superseded patches: None.

Verifying patch installation:

Windows 98 and 98SE:

  • To verify that the patch has been installed on the machine, select Start, then Run, then run the QFECheck utility. If the patch is installed, "Windows 98 Q309521 Update" will be listed among the installed patches.
  • To verify the individual files, use the file manifest provided in Knowledge Base article Q309521.

Windows ME:

  • To verify that the patch has been installed on the machine, select Start, then Run, then run the QFECheck utility. If the patch is installed, "Windows Millennium Edition Q311311 Update" will be listed among the installed patches.
  • To verify the individual files, use the file manifest provided in Knowledge Base article Q311311.

Windows XP:

  • To verify that the patch has been installed on the machine, confirm that the following registry key has been created on the machine:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\q309521.

  • To verify the individual files, use the date/time and version information provided in the following registry key:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\q309521\Filelist.

Caveats:

None

Localization:

  • Localized versions of the patches for Windows 98, 98SE and ME are under development, and will be available via WindowsUpdate shortly. German and Japanese versions are available for download today, as discussed in Knowledge Base article Q311311.
  • Localized versions of the Windows XP patch are available from WindowsUpdate.

Obtaining other security patches: Patches for other security issues are available from the following locations:

  • Security patches are available from the Microsoft Download Center, and can be most easily found by doing a keyword search for "security_patch".
  • Patches for consumer platforms are available from the WindowsUpdate web site.

Other information:

Acknowledgments

Microsoft thanks 'Ken' from FTU for reporting this issue to us and working with us to protect customers.

Support:

  • Microsoft Knowledge Base article Q311311, and Q309521 discusses this issue and will be available approximately 24 hours after the release of this bulletin. Knowledge Base articles can be found on the Microsoft Online Support web site.
  • Technical support is available from Microsoft Product Support Services. There is no charge for support calls associated with security patches.

Security Resources: The Microsoft TechNet Security Web Site provides additional information about security in Microsoft products.

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 01, 2001): Bulletin Created.
  • V2.0 (November 08,2001): Bulletin updated to reflect removal of WindowsME patch after a problem was found with it.
  • V2.5 (November 13, 2001): Bulletin updated to reflect new patch for WindowsME.
  • V2.6 (October 14, 2002): Bulletin updated with new URL in acknowledgements.
  • V2.7 (June 13, 2003): Updated download links to Windows Update.

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