Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:22298
HistoryAug 11, 2009 - 12:00 a.m.

Microsoft Security Bulletin MS09-036 - Important Vulnerability in ASP.NET in Microsoft Windows Could Allow Denial of Service (970957)

2009-08-1100:00:00
vulners.com
36

Microsoft Security Bulletin MS09-036 - Important
Vulnerability in ASP.NET in Microsoft Windows Could Allow Denial of Service (970957)
Published: August 11, 2009

Version: 1.0
General Information
Executive Summary

This security update addresses a privately reported Denial of Service vulnerability in the Microsoft .NET Framework component of Microsoft Windows. This vulnerability can be exploited only when Internet Information Services (IIS) 7.0 is installed and ASP.NET is configured to use integrated mode on affected versions of Microsoft Windows. An attacker could create specially crafted anonymous HTTP requests that could cause the affected Web server to become non-responsive until the associated application pool is restarted. Customers who are running IIS 7.0 application pools in classic mode are not affected by this vulnerability.

This security update is rated Important for all affected versions of Microsoft Windows. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerability by changing the way ASP.NET manages request scheduling. 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 at the earliest opportunity 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
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 Component Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update

Windows Vista*

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 (KB972591) and Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 (KB972592)

Denial of Service

Important

None

Windows Vista Service Pack 1*

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 (KB972593) and Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 (KB972594)

Denial of Service

Important

None

Windows Vista x64 Edition*

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 (KB972591) and Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 (KB972592)

Denial of Service

Important

None

Windows Vista x64 Edition Service Pack 1*

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 (KB972593) and Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 (KB972594)

Denial of Service

Important

None

Windows Server 2008 for 32-bit Systems**

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 (KB972593) and Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 (KB972594)

Denial of Service

Important

None

Windows Server 2008 for x64-based Systems**

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 (KB972593) and Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 (KB972594)

Denial of Service

Important

None

Windows Server 2008 for Itanium-based Systems

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 (KB972593) and Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 (KB972594)

Denial of Service

Important

None

  • Because IIS 7.0 does not run on Windows Vista Starter and Windows Vista Home Basic, the following editions are not affected: Windows Vista Starter (32-bit), Windows Vista Home Basic (32-bit), and Windows Vista Home Basic (64-bit).

**Windows Server 2008 server core installation not affected. The vulnerability addressed by this update does not affect supported editions of Windows Server 2008 if Windows Server 2008 was installed using the Server Core installation option. For more information on this installation option, see Server Core. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008; see Compare Server Core Installation Options.

Non-Affected Software
Operating System

Microsoft Windows 2000 Service Pack 4

Windows XP Service Pack 2

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 Vista Service Pack 2

Windows Vista x64 Edition Service Pack 2

Windows Server 2008 for 32-bit Systems Service Pack 2

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 for Itanium-based Systems Service Pack 2

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
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

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. 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.

Why are Windows Vista Service Pack 2 and Windows Server 2008 Service Pack 2 not affected?
The fix for this issue is already included in the versions of Microsoft .NET Framework that ship with Windows Vista Service Pack 2 and Windows Server 2008 Service Pack 2.

Why areMicrosoft .NET Framework 3.5 and Microsoft .NET Framework 3.5 Service Pack 1 affected?
Microsoft .NET Framework 3.5 includes Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.0 Service Pack 1 subcomponents. Microsoft .NET Framework 3.5 Service Pack 1 contains Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.0 Service Pack 2 subcomponents. As a result, both Microsoft .NET Framework 3.5 and Microsoft .NET Framework 3.5 Service Pack 1 contain vulnerable subcomponents.
Top of sectionTop of section
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 August bulletin summary. For more information, see Microsoft Exploitability Index.
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software Remote Unauthenticated Denial of Service in ASP.NET Vulnerability - CVE-2009-1536 Aggregate Severity Rating

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 on Windows Vista and Windows Vista Service Pack 1

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 on Windows Vista x64 Edition and Windows Vista x64 Edition Service Pack 1

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 on Windows Server 2008

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 on Windows Server 2008 x64 Edition

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5 on Windows Server 2008 for Itanium-based Systems

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 on Windows Vista and Windows Vista Service Pack 1

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 on Windows Vista x64 Edition and Windows Vista x64 Edition Service Pack 1

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 on Windows Server 2008*

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 on Windows Server 2008 x64 Edition*

Important
Denial of Service

Important

Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 on Windows Server 2008 Itanium-based Systems

Important
Denial of Service

Important

*Windows Server 2008 server core installation not affected. The vulnerability addressed by this update does not affect supported editions of Windows Server 2008 if Windows Server 2008 was installed using the Server Core installation option. For more information on this installation option, see Server Core. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008; see Compare Server Core Installation Options.
Top of sectionTop of section

Remote Unauthenticated Denial of Service in ASP.NET Vulnerability - CVE-2009-1536

A Denial of Service vulnerability exists in the way ASP.NET manages request scheduling. An attacker could exploit this vulnerability by creating specially crafted anonymous HTTP requests that would cause the affected Web server to become non-responsive until the associated application pool is restarted.

To view this vulnerability as a standard entry in the Common Vulnerabilities and Exposures list, see CVE-2009-1536.

Mitigating Factors for Remote Unauthenticated Denial of Service in ASP.NET Vulnerability - CVE-2009-1536

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:

The vulnerable code in Microsoft .NET Framework is exposed only through IIS 7.0. For systems not running IIS 7.0, there are no known attack vectors for this vulnerability.

Systems running ASP.NET on IIS 7.0 in classic mode are not affected by this vulnerability.
Top of sectionTop of section

Workarounds for Remote Unauthenticated Denial of Service in ASP.NET Vulnerability - CVE-2009-1536

Workarounds refer to settings or configuration changes that do 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:

Switch to the IIS native thread pool

When ASP.NET 2.0 is hosted on IIS 7.0 in integrated mode, ASP.NET manages requests using the common language runtime (CLR) thread pool. Systems on which the requests are managed by the IIS 7.0 native thread pool instead of by the CLR thread pool are not affected by this issue. For more information, see the MSDN article, .NET: The CLR's Thread Pool.

Use one of the following two methods to configure IIS 7.0 to use the native thread pool for process handling.

Method 1: Specify the value for maxConcurrentRequestsPerCPU in the registry

This setting is global and affects all application pools. In order to configure this setting for individual application pools, refer to Method 2 in this section.

Warning Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe.

Note We recommend backing up the registry before you edit it.

Click Start, click Run, type Regedit in the Open box, and then click OK.

Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0

On the Edit menu, point to New, and then click Key.

Type maxConcurrentRequestsPerCPU, and then press Enter.

Click the maxConcurrentRequestsPerCPU key.

On the Edit menu, point to New, and then click DWORD.

Type maxConcurrentRequestsPerCPU, and then press Enter.

On the Edit menu, click Modify to modify the maxConcurrentRequestsPerCPU registry entry.

In the Value data box, type 0, and then click OK.

Exit Registry Editor.

Use iisreset.exe to restart Microsoft Internet Information Services (IIS) on the Web server that is hosting the application by running the following command at a command line:
iisreset /restart

Specify the value for maxConcurrentRequestsPerCPUvia .REG file

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0]
"MaxConcurrentRequestsPerCPU"=dword:00000000

You can apply this .reg file to individual systems by double-clicking it. You can also apply it across domains by using Group Policy. For more information about Group Policy, visit the following Microsoft Web sites:
Group Policy collection
What is Group Policy Object Editor?
Core Group Policy tools and settings

Impact of workaround. Depending on the nature of applications running in this application pool, application performance may be affected.

How to undo the workaround.

Undoing the workaround manually

Click Start, click Run, type Regedit in the Open box, and then click OK. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0\maxConcurrentRequestsPerCPU

Right-click the maxConcurrentRequestsPerCPU subkey, click Delete, and then click Yes.

Exit the Registry Editor. Use Iisreset.exe to restart Microsoft Internet Information Services (IIS) on the Web server that is hosting the application by running the following command from a command line:
iisreset /restart

Undoing the workaround via a .REG file

Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0]
"MaxConcurrentRequestsPerCPU"=dword:00000000

You can apply this .reg file to individual systems by double-clicking it. You can also apply it across domains by using Group Policy. For more information about Group Policy, visit the following Microsoft Web sites:
Group Policy collection
What is Group Policy Object Editor?
Core Group Policy tools and settings

Method 2: Specify the value for maxConcurrentRequestsPerCPUfor an application pool in the ASP.NET config section of an ASPNET.Config file

Note This workaround only applies to systems on which the Microsoft .NET Framework 2.0 SP2 or Microsoft .NET Framework 3.5 SP1 is running. Earlier versions of the Microsoft .NET Framework do not read aspnet.config for this information. This value overrides the value that is specified for maxConcurrentRequestsPerCPU in the registry.

Note In order to undo this workaround, you need to restore the original version of the aspnet.config file. Before editing this file, create a backup.

Open the aspnet.config file for the application pool and then enter new values for the maxConcurrentRequestsPerCPU parameter as follows:

<system.web>
<applicationPool maxConcurrentRequestsPerCPU="0"/>
</system.web>

Impact of workaround. Depending on the nature of applications running in this application pool, application performance may be affected.

How to undo the workaround. Restore the original version of the aspnet.config file.
Top of sectionTop of section

FAQ for Remote Unauthenticated Denial of Service in ASP.NET Vulnerability - CVE-2009-1536

What is the scope of the vulnerability?
This is a Denial of Service vulnerability that could allow an attacker to cause a Web server to become non-responsive.

What causes the vulnerability?
This vulnerability is caused by ASP.NET incorrectly managing request scheduling.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could cause the application pool on the affected Web server to become non-responsive until the application pool is restarted. As a result, Web pages that use ASP.NET in the same application pool would no longer be reachable and would return an HTTP error.

All non-ASP.NET features of the server are unaffected when a server is vulnerable to this issue and is attacked. For example, HTML pages will continue to load normally.

This is an application-level denial of service vulnerability. In order to recover from a successful attack, either IIS must be reset or the affected application pool must be recycled, but the server operating system does not need to be restarted.

What is ASP.NET?
ASP.NET is a collection of technologies within theMicrosoft .NET Framework that enable developers to build Web applications and XML Web Services.

Unlike traditional Web pages, which use a combination of static HTML and scripting, ASP.NET uses compiled, event-driven pages. Because ASP.NET is a Web-based application environment, requiring an underlying Web server to provide basic HTTP functionality. ASP.NET runs on top of Internet Information Services (IIS). For more information, see The Official Microsoft ASP.NET Site.

What is an application pool?
In IIS 7.0, an application pool is a group of one or more URLs that are served by a worker process or a set of worker processes. Application pools set boundaries for the applications they contain, which means that any applications that are running outside a given application pool cannot affect the applications that are running inside that application pool. For more information, see IIS 7.0: Managing Application Pools in IIS 7.0.

How could an attacker exploit the vulnerability?
An attacker could exploit this vulnerability by creating a specially crafted series of anonymous HTTP requests to an affected system and thereby cause the Web server running on this system to become non-responsive.

What systems are primarily at risk from the vulnerability?
Servers on which ASP 2.0 is hosted on IIS 7.0 in integrated mode are at risk.

What does the update do?
The update modifies the way in which ASP.NET manages request scheduling.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure. Microsoft had not received any information to indicate that this vulnerability had been publicly disclosed when this security bulletin was originally issued.

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. Microsoft is aware of limited, targeted attacks attempting to exploit the reported vulnerability.

Other Information
Acknowledgments

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

Alexander Pfandt of Digitaria for reporting the Remote Unauthenticated Denial of Service in ASP.NET Vulnerability (CVE-2009-1536)
Top of sectionTop of section
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 (August 11, 2009): Bulletin published.