Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:22618
HistoryOct 14, 2009 - 12:00 a.m.

Microsoft Security Bulletin MS09-061 - Critical Vulnerabilities in the Microsoft .NET Common Language Runtime Could Allow Remote Code Execution (974378)

2009-10-1400:00:00
vulners.com
47

Microsoft Security Bulletin MS09-061 - Critical
Vulnerabilities in the Microsoft .NET Common Language Runtime Could Allow Remote Code Execution (974378)
Published: October 13, 2009

Version: 1.0
General Information
Executive Summary

This security update resolves three privately reported vulnerabilities in Microsoft .NET Framework and Microsoft Silverlight. The vulnerabilities could allow remote code execution on a client system if a user views a specially crafted Web page using a Web browser that can run XAML Browser Applications (XBAPs) or Silverlight applications, or if an attacker succeeds in persuading a user to run a specially crafted Microsoft .NET application. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. The vulnerabilities could also allow remote code execution on a server system running IIS, if that server allows processing ASP.NET pages and an attacker succeeds in uploading a specially crafted ASP.NET page to that server and executing it, as could be the case in a Web hosting scenario. Microsoft .NET applications, Silverlight applications, XBAPs and ASP.NET pages that are not malicious are not at risk of being compromised because of this vulnerability.

This security update is rated Critical for all affected editions of the Microsoft .NET Framework on Microsoft Windows 2000, Windows XP, Windows Vista, and Windows 7; Microsoft Silverlight 2 when installed on Mac; and Microsoft Silverlight 2 when installed on all releases of Microsoft Windows clients.

This security update is rated Important for all affected editions of the Microsoft .NET Framework on Windows Server 2003, Windows Server 2008, and Windows Server 2008 R2.

This security update is rated Moderate for Microsoft Silverlight 2 when installed on all releases of Microsoft Windows servers.

For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerabilities by modifying the way in which the Microsoft .NET verifies and enforces the rules of Microsoft .NET verifiable code and by modifying the way in which the Microsoft .NET Common Language Runtime (CLR) handles interfaces. For more information about the vulnerabilities, 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
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
Microsoft Windows 2000

Microsoft Windows 2000 Service Pack 4

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Critical

MS07-040

Microsoft Windows 2000 Service Pack 4

Microsoft .NET Framework 2.0 Service Pack 1
(KB953300)

Microsoft .NET Framework 2.0 Service Pack 2
(KB974417)

Remote Code Execution

Critical

None
Windows XP

Windows XP Service Pack 2 and Windows XP Service Pack 3

Microsoft .NET Framework 1.0 Service Pack 3
(KB953295)
(Media Center Edition 2005 and Tablet PC Edition 2005 only)

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Critical

MS07-040

Windows XP Service Pack 2 and Windows XP Service Pack 3

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5
(KB953300)

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

Remote Code Execution

Critical

None

Windows XP Professional x64 Edition Service Pack 2

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Critical

MS07-040

Windows XP Professional x64 Edition Service Pack 2

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5
(KB953300)

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

Remote Code Execution

Critical

None
Windows Server 2003

Windows Server 2003 Service Pack 2

Microsoft .NET Framework 1.1 Service Pack 1
(KB953298)

Remote Code Execution

Important

MS07-040

Windows Server 2003 Service Pack 2

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5
(KB953300)

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

Remote Code Execution

Important

None

Windows Server 2003 x64 Edition Service Pack 2

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Important

MS07-040

Windows Server 2003 x64 Edition Service Pack 2

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5
(KB953300)

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

Remote Code Execution

Important

None

Windows Server 2003 with SP2 for Itanium-based Systems

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Important

MS07-040

Windows Server 2003 with SP2 for Itanium-based Systems

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5
(KB953300)

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

Remote Code Execution

Important

None
Windows Vista

Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Critical

MS07-040

Windows Vista

Microsoft .NET Framework 2.0
(KB974468)

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5
(KB974292)

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

Remote Code Execution

Critical

None

Windows Vista Service Pack 1

Microsoft .NET Framework 2.0 Service Pack 1
(KB974291)

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

Remote Code Execution

Critical

None

Windows Vista Service Pack 2

Microsoft .NET Framework 2.0 Service Pack 2
(KB974470)

Remote Code Execution

Critical

None

Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Critical

MS07-040

Windows Vista x64 Edition

Microsoft .NET Framework 2.0
(KB974468)

Microsoft .NET Framework 2.0 Service Pack 1 and Microsoft .NET Framework 3.5
(KB974292)

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

Remote Code Execution

Critical

None

Windows Vista x64 Edition Service Pack 1

Microsoft .NET Framework 2.0 Service Pack 1
(KB974291)

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

Remote Code Execution

Critical

None

Windows Vista x64 Edition Service Pack 2

Microsoft .NET Framework 2.0 Service Pack 2
(KB974470)

Remote Code Execution

Critical

None
Windows Server 2008

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Important

MS07-040

Windows Server 2008 for 32-bit Systems*

Microsoft .NET Framework 2.0 Service Pack 1
(KB974291)

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

Remote Code Execution

Important

None

Windows Server 2008 for 32-bit Systems Service Pack 2*

Microsoft .NET Framework 2.0 Service Pack 2
(KB974470)

Remote Code Execution

Important

None

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Important

MS07-040

Windows Server 2008 for x64-based Systems*

Microsoft .NET Framework 2.0 Service Pack 1
(KB974291)

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

Remote Code Execution

Important

None

Windows Server 2008 for x64-based Systems Service Pack 2*

Microsoft .NET Framework 2.0 Service Pack 2
(KB974470)

Remote Code Execution

Important

None

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Important

MS07-040

Windows Server 2008 for Itanium-based Systems

Microsoft .NET Framework 2.0 Service Pack 1
(KB974291)

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

Remote Code Execution

Important

None

Windows Server 2008 for Itanium-based Systems Service Pack 2

Microsoft .NET Framework 2.0 Service Pack 2
(KB974470)

Remote Code Execution

Important

None
Windows 7

Windows 7 for 32-bit Systems

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Critical

None

Windows 7 for x64-based Systems

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Critical

None
Windows Server 2008 R2

Windows Server 2008 R2 for x64-based Systems*

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Important

None

Windows Server 2008 R2 for Itanium-based Systems

Microsoft .NET Framework 1.1 Service Pack 1
(KB953297)

Remote Code Execution

Important

None

*Server Core installation not affected. The vulnerabilities addressed by this update do not affect supported editions of Windows Server 2008 and Windows Server 2008 R2 when 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.
Operating System and Other Software Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update

Microsoft Silverlight 2* when installed on Mac
(KB970363)

Remote Code Execution

Critical

None

Microsoft Silverlight 2* when installed on all releases of Microsoft Windows clients
(KB970363)

Remote Code Execution

Critical

None

Microsoft Silverlight 2* when installed on all releases of Microsoft Windows servers**
(KB970363)

Remote Code Execution

Moderate

None

*This download upgrades Microsoft Silverlight 2 to Microsoft Silverlight 3, which addresses the vulnerability.

**Server Core installation not affected. The vulnerabilities addressed by this update do not affect supported editions of Windows Server 2008 and Windows Server 2008 R2 when 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 and Other Software Component
Microsoft .NET Framework

All supported releases of Microsoft Windows

Microsoft .NET Framework 3.0
Microsoft .NET Framework 3.0 Service Pack 1
Microsoft .NET Framework 3.0 Service Pack 2
Microsoft .NET Framework 3.5.1

Windows Vista Service Pack 1

Microsoft .NET Framework 3.5

Windows Vista Service Pack 2

Microsoft .NET Framework 3.5
Microsoft .NET Framework 3.5 Service Pack 1

Windows Vista x64 Edition Service Pack 1

Microsoft .NET Framework 3.5

Windows Vista x64 Edition Service Pack 2

Microsoft .NET Framework 3.5
Microsoft .NET Framework 3.5 Service Pack 1

Windows Server 2008 for 32-bit Systems
Windows Server 2008 for x64-based Systems
Windows Server 2008 for Itanium-based Systems

Microsoft .NET Framework 3.5

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

Microsoft .NET Framework 3.5
Microsoft .NET Framework 3.5 Service Pack 1
Microsoft Silverlight

Microsoft Silverlight 3

Not applicable
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

Why are Microsoft .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. On some operating systems, both Microsoft .NET Framework 3.5 and Microsoft .NET Framework 3.5 Service Pack 1 may install these vulnerable subcomponents.

Which Web browsers support XAML browser applications or Silverlight applications?
Microsoft Internet Explorer supports XBAPs (XAML browser applications) natively. Other Web browsers may not support XBAPs or may require a browser plug-in to be installed to support XBAPs. In order to run Silverlight applications, most Web browsers, including Microsoft Internet Explorer, require Microsoft Silverlight to be installed and the corresponding plug-in to be enabled. For more information about Silverlight, see The Official Site of Silverlight. Please refer to the documentation of your browser to learn more about how to disable or remove plug-ins.

How do I upgrade my version of Silverlight?
The Microsoft Silverlight auto-update feature helps makes sure that your Silverlight installation is kept up to date with the latest version of Silverlight, Silverlight functionality, and security features. For more information about the Silverlight auto-update feature, see the Microsoft Silverlight Updater. Customers who have disabled the Silverlight auto-update feature can enroll in Microsoft Update to obtain the latest version of Silverlight, or download the latest version of Silverlight manually using the download link in the Affected Software table. For information about deploying Silverlight in an enterprise environment, see the Silverlight Enterprise Deployment Guide.

Does MBSA support detection for this security update on Windows 7 and Windows Server 2008 R2?
MBSA supports detection for this security update on Windows 7 and Windows Server 2008 R2 as of MBSA version 2.1.1, available as of the General Availability date of these operating systems. For more information, visit MBSA.

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.
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 October bulletin summary. For more information, see Microsoft Exploitability Index.
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software Microsoft .NET Framework Pointer Verification Vulnerability - CVE-2009-0090 Microsoft .NET Framework Type Verification Vulnerability - CVE-2009-0091 Microsoft Silverlight and Microsoft .NET Framework CLR Vulnerability - CVE-2009-2497 Aggregate Severity Rating
Microsoft .NET Framework 1.0 Service Pack 3

Microsoft .NET Framework 1.0 Service Pack 3 on Windows XP Tablet Edition 2005 Service Pack 2, Windows XP Tablet Edition 2005 Service Pack 3, Windows XP Media Center Edition 2005 Service Pack 2, and Windows XP Media Center Edition 2005 Service Pack 3

Critical
Remote Code Execution

Not applicable

Not applicable

Critical
Microsoft .NET Framework 1.1 Service Pack 1

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Not applicable

Not applicable

Critical

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Service Pack 2 and Windows XP Service Pack 3

Critical
Remote Code Execution

Not applicable

Not applicable

Critical

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Not applicable

Not applicable

Critical

Microsoft .NET Framework 1.1 Service Pack 1 on Windows Server 2003 Service Pack 2

Important
Remote Code Execution

Not applicable

Not applicable

Important

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2003 x64 Edition Service Pack 2

Important
Remote Code Execution

Not applicable

Not applicable

Important

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2003 Itanium-based Edition Service Pack 2

Important
Remote Code Execution

Not applicable

Not applicable

Important

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Critical
Remote Code Execution

Not applicable

Not applicable

Critical

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2

Critical
Remote Code Execution

Not applicable

Not applicable

Critical

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

Important
Remote Code Execution

Not applicable

Not applicable

Important

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Important
Remote Code Execution

Not applicable

Not applicable

Important

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

Important
Remote Code Execution

Not applicable

Not applicable

Important

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows 7 for 32-bit Systems

Critical
Remote Code Execution

Not applicable

Not applicable

Critical

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows 7 for x64-based Systems

Critical
Remote Code Execution

Not applicable

Not applicable

Critical

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 R2 for x64-based Systems

Important
Remote Code Execution

Not applicable

Not applicable

Important

Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 R2 for Itanium-based Systems

Important
Remote Code Execution

Not applicable

Not applicable

Important
Microsoft .NET Framework 2.0

Microsoft .NET Framework 2.0 on Windows Vista

Not applicable

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 on Windows Vista x64 Edition

Not applicable

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Microsoft .NET Framework 2.0 Service Pack 1

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Windows XP Service Pack 2 and Windows XP Service Pack 3

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Windows Server 2003 Service Pack 2

Important
Remote Code Execution

Important
Remote Code Execution

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Windows Server 2003 x64 Edition Service Pack 2

Important
Remote Code Execution

Important
Remote Code Execution

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Windows Server 2003 with SP2 for Itanium-based Systems

Important
Remote Code Execution

Important
Remote Code Execution

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Windows Vista

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

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

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 1 when installed on Windows Vista x64 Edition

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

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

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 1 on Windows Server 2008 for 32-bit Systems*

Important
Remote Code Execution

Important
Remote Code Execution

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 1 on Windows Server 2008 for x64-based Systems*

Important
Remote Code Execution

Important
Remote Code Execution

Important
Remote Code Execution

Important

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

Important
Remote Code Execution

Important
Remote Code Execution

Important
Remote Code Execution

Important
Microsoft .NET Framework 2.0 Service Pack 2

Microsoft .NET Framework 2.0 Service Pack 2 on Microsoft Windows 2000 Service Pack 4

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 2 on Windows XP Service Pack 2 and Windows XP Service Pack 3

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 2 on Windows XP Professional x64 Edition Service Pack 2

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2003 Service Pack 2

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2003 x64 Edition Service Pack 2

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2003 SP2 for Itanium-based Systems

Not applicable

Not applicable

Important
Remote Code Execution

Important

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

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 2 on Windows Vista Service Pack 2

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

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

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

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

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows Server 2008 for 32-bit Systems*

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2008 for 32-bit Systems Service Pack 2*

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows Server 2008 for x64-based Systems*

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2008 for x64-based Systems Service Pack 2*

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows Server 2008 for Itanium-based Systems

Not applicable

Not applicable

Important
Remote Code Execution

Important

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

Not applicable

Not applicable

Important
Remote Code Execution

Important
Microsoft .NET Framework 3.5

Microsoft .NET Framework 3.5 when installed on Windows XP Service Pack 2 and Windows XP Service Pack 3

Not applicable

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 3.5 when installed on Windows XP Professional x64 Edition Service Pack 2

Not applicable

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 3.5 when installed on Windows Server 2003 Service Pack 2

Not applicable

Important
Remote Code Execution

Important
Remote Code Execution

Important

Microsoft .NET Framework 3.5 when installed on Windows Server 2003 x64 Edition Service Pack 2

Not applicable

Important
Remote Code Execution

Important
Remote Code Execution

Important

Microsoft .NET Framework 3.5 when installed on Windows Server 2003 SP2 for Itanium-based Systems

Not applicable

Important
Remote Code Execution

Important
Remote Code Execution

Important

Microsoft .NET Framework 3.5 when installed on Windows Vista

Not applicable

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 3.5 when installed on Windows Vista x64 Edition

Not applicable

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Microsoft .NET Framework 3.5 Service Pack 1

Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP Service Pack 2 and Windows XP Service Pack 3

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2003 Service Pack 2

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2003 x64 Edition Service Pack 2

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2003 SP2 for Itanium-based Systems

Not applicable

Not applicable

Important
Remote Code Execution

Important

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

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

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

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2008 for 32-bit Systems*

Not applicable

Not applicable

Important
Remote Code Execution

Important

Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2008 for x64-based Systems*

Not applicable

Not applicable

Important
Remote Code Execution

Important

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

Not applicable

Not applicable

Important
Remote Code Execution

Important

*Server Core installation not affected. The vulnerabilities addressed by this update do not affect supported editions of Windows Server 2008 and Windows Server 2008 R2 when 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.
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software Microsoft .NET Framework Pointer Verification Vulnerability - CVE-2009-0090 Microsoft .NET Framework Type Verification Vulnerability - CVE-2009-0091 Microsoft Silverlight and Microsoft .NET Framework CLR Vulnerability - CVE-2009-2497 Aggregate Severity Rating
Microsoft Silverlight

Microsoft Silverlight 2 when installed on Mac

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft Silverlight 2 when installed on all releases of Microsoft Windows clients

Not applicable

Not applicable

Critical
Remote Code Execution

Critical

Microsoft Silverlight 2 when installed on all releases of Microsoft Windows servers*

Not applicable

Not applicable

Moderate
Remote Code Execution

Moderate

*Server Core installation not affected. The vulnerabilities addressed by this update do not affect supported editions of Windows Server 2008 and Windows Server 2008 R2 when 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.
Top of sectionTop of section

Microsoft .NET Framework Pointer Verification Vulnerability - CVE-2009-0090

A remote code execution vulnerability exists in the Microsoft .NET Framework that could allow a malicious Microsoft .NET application to obtain a managed pointer to stack memory that is no longer used. The malicious Microsoft .NET application could then use this pointer to modify legitimate values placed at that stack location later, leading to arbitrary unmanaged code execution. Microsoft .NET applications that are not malicious are not at risk for being compromised because of this vulnerability.

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

Mitigating Factors for Microsoft .NET Framework Pointer Verification Vulnerability - CVE-2009-0090

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:

Microsoft .NET applications that are not malicious are not at risk for being compromised because of this vulnerability. Only applications built in a specifically malicious way could exploit this vulnerability.

In a Web-hosting scenario, an attacker must have permission to upload arbitrary ASP.NET pages to a Web site and ASP.NET must be installed on that Web server. In default configuration, an anonymous user cannot upload and run Microsoft .NET code on an Internet Information Server (IIS).

By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 runs in a restricted mode that is known as Enhanced Security Configuration. This mode mitigates this vulnerability only in a Web-based attack scenario. See the FAQ section of this security bulletin for more information about Internet Explorer Enhanced Security Configuration.

Internet Explorer 8 disables the Microsoft .NET MIME Filter in the Internet zone. This feature of Internet Explorer 8 makes successful exploitation of this vulnerability more difficult by blocking a known technique for bypassing ASLR and DEP protection. Disabling the Microsoft .NET MIME Filter in the Internet zone does not make it impossible to exploit this vulnerability in Internet Explorer 8, but it does make it more difficult for malicious Web sites to reliably exploit it.

In a Web-browsing attack scenario, an attacker could host a Web site that contains a Web page that is used to exploit this vulnerability. In addition, compromised Web sites and Web sites that accept or host user-provided content or advertisements could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail or Instant Messenger message that takes users to the attacker's Web site.

An attacker who successfully exploited this vulnerability could gain the same user rights as the local user or the user account of ASP.NET. Users or accounts that are configured to have fewer user rights on the system could be less impacted than users or accounts that operate with administrative user rights.
Top of sectionTop of section

Workarounds for Microsoft .NET Framework Pointer Verification Vulnerability - CVE-2009-0090

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:

Disable partially trusted Microsoft .NET applications

To disable all Microsoft .NET applications running at partial trust, including XAML browser applications (XBAPs) and Microsoft .NET applications located on the network, run the following commands from an elevated command prompt:

caspol –pp off
caspol –m –resetlockdown
caspol –pp on

Note You must be logged in as administrator or have administrative credentials to complete this workaround.

Impact of workaround. Some Microsoft .NET applications will not run.

How to undo the workaround.

To reset the Microsoft .NET security policies to the defaults, run the following commands from an elevated command prompt:

caspol –pp off
caspol –m –reset
caspol –pp on

Note You must be logged in as administrator or have administrative credentials to undo this workaround.

Disable XAML browser applications in Internet Explorer

You can help protect against this vulnerability by changing your settings to prompt before running XAML browser applications (XBAPs) or to disable XBAPs in the Internet and Local intranet security zones.

Tools menu and then select Internet Options.

Security tab, click Internet, and then click Custom level.

Settings, for Loose XAML, click Prompt or Disable, and then click OK. Repeat these steps for XAML browser applications and XPS documents.

Security tab, click Custom level, under .NET Framework-reliant components, for Run components not signed with Authenticode, click Prompt or Disable, and then click OK. Repeat these steps for Run components signed with Authenticode, and then click OK.

Local intranet, and then click Custom Level. Repeat steps 3 and 4. If you are prompted to confirm that you want to change these settings, click Yes. Click OK to return to Internet Explorer.

Impact of workaround. Microsoft .NET code will not run in Internet Explorer or will not run without a prompt. Disabling Microsoft .NET applications and components in the Internet and Local intranet security zones may cause some Web sites to work incorrectly. If you have difficulty using a Web site after you change this setting and you are sure the site is safe to use, you can add that site to your list of trusted sites. This will allow the site to work correctly.

How to undo the workaround.

Tools menu and then select Internet Options.

Security tab, click Reset all zones to default level, and then click OK.
Top of sectionTop of section

FAQ for Microsoft .NET Framework Pointer Verification Vulnerability - CVE-2009-0090

What is the scope of the vulnerability?
This vulnerability is a remote code execution vulnerability in either the context of the currently logged on user, or in the context of the service account associated with an application pool identity.

What causes the vulnerability?
This vulnerability results from the manner in which Microsoft .NET verifiable code is verified.

What is the CLR?
The Microsoft .NET Framework provides a run-time environment called the Common Language Runtime (CLR), which runs the code and provides services that make the development process easier. For more information about the CLR, see Common Language Runtime Overview.

What is an XBAP?
An XAML browser application (XBAP) combines features of both a Web application and a rich-client application. Like Web applications, XBAPs can be published to a Web server and launched from Internet Explorer. Like rich-client applications, XBAPs can take advantage of the capabilities of Windows Presentation Foundation (WPF). For more information about XBAPs, see Windows Presentation Foundation XAML Browser Applications Overview.

I am running Internet Explorer for Windows Server 2003 or Windows Server 2008. Does this mitigate this vulnerability?
Yes and no. For the Web browsing attack scenario, running Internet Explorer on Windows Server 2003 or Windows Server 2008 mitigates the vulnerability, but for the Web hosting and .NET Application attack scenario, these platforms do not mitigate the vulnerability. By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 runs in a restricted mode that is known as Enhanced Security Configuration. Enhanced Security Configuration is a group of preconfigured settings in Internet Explorer that can reduce the likelihood of a user or administrator downloading and running specially crafted Web content on a server. This is a mitigating factor for Web sites that you have not added to the Internet Explorer Trusted sites zone. See also Managing Internet Explorer Enhanced Security Configuration.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could obtain the same permissions as the currently logged-on user. If a user is logged on with administrative user rights, an attacker could take complete control of the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

In the Web hosting scenario, an attacker who successfully exploits this vulnerability could obtain the same permissions as the service account associated with the application pool identity of the application pool that a Microsoft .NET application is running under. Depending on application pool isolation configuration and permissions granted to the service account, an attacker might be able to take control over other application pools on the Web server or be able to take complete control of the affected system. For more information about application pool identities and configuration, see Configure Application Pool Identity.

How could an attacker exploit the vulnerability?
There are three scenarios possible for exploitation of this vulnerability: a Web browsing scenario, a Web hosting scenario, and a Microsoft .NET Framework application scenario. These scenarios are described below.

Web browsing scenario
An attacker could host a specially crafted Web site that contains a specially crafted XBAP (XAML browser application) that could exploit this vulnerability and then convince a user to view the Web site. The attacker could also take advantage of compromised Web sites and Web sites that accept or host user-provided content or advertisements. These Web sites could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail message or in an Instant Messenger message that takes users to the attacker's Web site. It could also be possible to display specially crafted Web content by using banner advertisements or by using other methods to deliver Web content to affected systems.

Web hosting scenario
If a Web hosting environment allows users to upload custom ASP.NET applications, an attacker user could upload a malicious ASP.NET application that uses this vulnerability to break out of the sandbox used to prevent ASP.NET code from performing harmful actions on the server system.

Microsoft .NET Framework application scenario
An attacker could place a malicious Microsoft .NET Framework application on a network share and convince users on that network to execute this application.

What systems are primarily at risk from the vulnerability?
There are two types of systems at risk from this vulnerability, described below: systems that are using the Web browsing scenario, and systems that are using the Web hosting scenario.

Web browsing scenario
Successful exploitation of this vulnerability requires that a user is logged on and is visiting Web sites using a Web browser capable of instantiating XBAPs. Therefore, any systems where a Web browser is used frequently, such as workstations or terminal servers, are at the most risk from this vulnerability. Servers could be at more risk if administrators allow users to browse and read e-mail on servers. However, best practices strongly discourage allowing this.

Web hosting scenario
Web hosting sites that allow users to upload custom ASP.NET applications are at increased risk.

I have written a Microsoft .NET application. Do I need to recompile it?
Microsoft .NET applications that are not malicious are not at risk for being compromised because of this vulnerability and do not need to be recompiled. Only applications built in a specifically malicious way could exploit this vulnerability.

What does the update do?
This update modifies the way in which the Microsoft .NET Framework verifies and enforces the rules of Microsoft .NET verifiable code.

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

Microsoft .NET Framework Type Verification Vulnerability - CVE-2009-0091

A remote code execution vulnerability exists in the Microsoft .NET Framework that could allow a malicious Microsoft .NET application to bypass a type equality check. The malicious Microsoft .NET application could exploit this vulnerability by casting an object of one type into another type, leading to arbitrary unmanaged code execution. Microsoft .NET applications that are not malicious are not at risk for being compromised because of this vulnerability.

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

Mitigating Factors for Microsoft .NET Framework Type Verification Vulnerability - CVE-2009-0091

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:

Microsoft .NET applications that are not malicious are not at risk for being compromised because of this vulnerability. Only applications built in a specifically malicious way could exploit this vulnerability.

In a Web-hosting scenario, an attacker must have permission to upload arbitrary ASP.NET pages to a Web site and ASP.NET must be installed on that Web server. In default configuration, an anonymous user cannot upload and run Microsoft .NET code on an Internet Information Server (IIS).

By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 runs in a restricted mode that is known as Enhanced Security Configuration. This mode mitigates this vulnerability only in a Web-based attack scenario. See the FAQ section of this security bulletin for more information about Internet Explorer Enhanced Security Configuration.

Internet Explorer 8 disables the Microsoft .NET MIME Filter in the Internet zone. This feature of Internet Explorer 8 makes successful exploitation of this vulnerability more difficult by blocking a known technique for bypassing ASLR and DEP protection. Disabling the Microsoft .NET MIME Filter in the Internet zone does not make it impossible to exploit this vulnerability in Internet Explorer 8, but it does make it more difficult for malicious Web sites to reliably exploit it.

In a Web-based attack scenario, an attacker could host a Web site that contains a Web page that is used to exploit this vulnerability. In addition, compromised Web sites and Web sites that accept or host user-provided content or advertisements could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail or Instant Messenger message that takes users to the attacker's Web site.

An attacker who successfully exploited this vulnerability could gain the same user rights as the local user or the user account of ASP.NET. Users or accounts that are configured to have fewer user rights on the system could be less impacted than users or accounts that operate with administrative user rights.
Top of sectionTop of section

Workarounds for Microsoft .NET Framework Type Verification Vulnerability - CVE-2009-0091

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:

Disable partially trusted Microsoft .NET applications

To disable all Microsoft .NET applications running at partial trust, including XAML browser applications (XBAPs) and Microsoft .NET applications located on the network, run the following commands from an elevated command prompt:

caspol –pp off
caspol –m –resetlockdown
caspol –pp on

Note You must be logged in as administrator or have administrative credentials to complete this workaround.

Impact of workaround. Some Microsoft .NET applications will not run.

How to undo the workaround.

To reset the Microsoft .NET security policies to the defaults, run the following commands from an elevated command prompt:

caspol –pp off
caspol –m –reset
caspol –pp on

Note You must be logged in as administrator or have administrative credentials to undo this workaround.

Disable XAML browser applications in Internet Explorer

You can help protect against this vulnerability by changing your settings to prompt before running XAML browser applications (XBAPs) or to disable XBAPs in the Internet and Local intranet security zones.

Tools menu and then select Internet Options.

Security tab, click Internet, and then click Custom level.

Settings, for Loose XAML, click Prompt or Disable, and then click OK. Repeat these steps for XAML browser applications and XPS documents.

Security tab, click Custom level, under .NET Framework-reliant components, for Run components not signed with Authenticode, click Prompt or Disable, and then click OK. Repeat these steps for Run components signed with Authenticode, and then click OK.

Local intranet, and then click Custom Level. Repeat steps 3 and 4. If you are prompted to confirm that you want to change these settings, click Yes. Click OK to return to Internet Explorer.

Impact of workaround. Microsoft .NET code will not run in Internet Explorer or will not run without a prompt. Disabling Microsoft .NET applications and components in the Internet and Local intranet security zones may cause some Web sites to work incorrectly. If you have difficulty using a Web site after you change this setting and you are sure the site is safe to use, you can add that site to your list of trusted sites. This will allow the site to work correctly.

How to undo the workaround.

Tools menu and then select Internet Options.

Security tab, click Reset all zones to default level, and then click OK.
Top of sectionTop of section

FAQ for Microsoft .NET Framework Type Verification Vulnerability - CVE-2009-0091

What is the scope of the vulnerability?
This vulnerability is a remote code execution vulnerability in either the context of the currently logged on user, or in the context of the service account associated with an application pool identity.

What causes the vulnerability?
This vulnerability results from the manner in which Microsoft .NET verifiable code is verified.

What is the CLR?
The Microsoft .NET Framework provides a run-time environment called the Common Language Runtime (CLR), which runs the code and provides services that make the development process easier. For more information about the CLR, see Common Language Runtime Overview.

What is an XBAP?
An XAML browser application (XBAP) combines features of both a Web application and a rich-client application. Like Web applications, XBAPs can be published to a Web server and launched from Internet Explorer. Like rich-client applications, XBAPs can take advantage of the capabilities of Windows Presentation Foundation (WPF). For more information about XBAPs, see Windows Presentation Foundation XAML Browser Applications Overview.

I am running Internet Explorer for Windows Server 2003 or Windows Server 2008. Does this mitigate this vulnerability?
Yes and no. For the Web browsing attack scenario, running Internet Explorer on Windows Server 2003 or Windows Server 2008 mitigates the vulnerability, but for the Web hosting and Microsoft .NET application attack scenario, these platforms do not mitigate the vulnerability. By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 runs in a restricted mode that is known as Enhanced Security Configuration. Enhanced Security Configuration is a group of preconfigured settings in Internet Explorer that can reduce the likelihood of a user or administrator downloading and running specially crafted Web content on a server. This is a mitigating factor for Web sites that you have not added to the Internet Explorer Trusted sites zone. See also Managing Internet Explorer Enhanced Security Configuration.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could obtain the same permissions as the currently logged-on user. If a user is logged on with administrative user rights, an attacker could take complete control of the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

In the Web hosting scenario, an attacker who successfully exploits this vulnerability could obtain the same permissions as the service account associated with the application pool identity of the application pool that a Microsoft .NET application is running under. Depending on application pool isolation configuration and permissions granted to the service account, an attacker might be able to take control over other application pools on the Web server or be able to take complete control of the affected system. For more information about application pool identities and configuration, see Configure Application Pool Identity.

How could an attacker exploit the vulnerability?
There are three scenarios possible for exploitation of this vulnerability: a Web browsing scenario, a Web hosting scenario, and a Microsoft .NET Framework application scenario. These scenarios are described below.

Web browsing scenario
An attacker could host a specially crafted Web site that contains a specially crafted XBAP (XAML browser application) that could exploit this vulnerability and then convince a user to view the Web site. The attacker could also take advantage of compromised Web sites and Web sites that accept or host user-provided content or advertisements. These Web sites could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail message or in an Instant Messenger message that takes users to the attacker's Web site. It could also be possible to display specially crafted Web content by using banner advertisements or by using other methods to deliver Web content to affected systems.

Web hosting scenario
If a Web hosting environment allows users to upload custom ASP.NET applications, an attacker user could upload a malicious ASP.NET application that uses this vulnerability to break out of the sandbox used to prevent ASP.NET code from performing harmful actions on the server system.

Microsoft .NET Framework application scenario
An attacker could place a malicious Microsoft .NET Framework application on a network share and convince users on that network to execute this application.

What systems are primarily at risk from the vulnerability?
There are two types of systems at risk from this vulnerability, described below: systems that are using the Web browsing scenario, and systems that are using the Web hosting scenario.

Web browsing scenario
Successful exploitation of this vulnerability requires that a user is logged on and is visiting Web sites using a Web browser capable of instantiating XBAPs. Therefore, any systems where a Web browser is used frequently, such as workstations or terminal servers, are at the most risk from this vulnerability. Servers could be at more risk if administrators allow users to browse and read e-mail on servers. However, best practices strongly discourage allowing this.

Web hosting scenario
Web hosting sites that allow users to upload custom ASP.NET applications are at increased risk.

I have written a Microsoft .NET application. Do I need to recompile it?
Microsoft .NET applications that are not malicious are not at risk for being compromised because of this vulnerability and do not need to be recompiled. Only applications built in a specifically malicious way could exploit this vulnerability.

What does the update do?
This update modifies the way in which the Microsoft .NET Framework verifies and enforces the rules of Microsoft .NET verifiable code.

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

Microsoft Silverlight and Microsoft .NET Framework CLR Vulnerability - CVE-2009-2497

A remote code execution vulnerability exists in the Microsoft .NET Framework that can allow a malicious Microsoft .NET application or a malicious Silverlight application to modify memory of the attacker's choice, leading to arbitrary unmanaged code execution. Microsoft .NET applications and Silverlight applications that are not malicious are not at risk for being compromised because of this vulnerability.

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

Mitigating Factors for Microsoft Silverlight and Microsoft .NET Framework CLR Vulnerability - CVE-2009-2497

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 current version of Microsoft Silverlight, Silverlight 3, is not affected by this vulnerability. By default, Silverlight will periodically check a Microsoft Web site for updates to provide you with the latest features and improvements. If a newer version is available, it will be downloaded and installed on your computer. Most systems will already be running a version of Silverlight 3. For more information, see Microsoft Silverlight Updater.

Microsoft .NET applications that are not malicious are not at risk for being compromised because of this vulnerability. Only applications built in a specifically malicious way could exploit this vulnerability.

In a Web-hosting scenario, an attacker must have permission to upload arbitrary ASP.NET pages to a Web site and ASP.NET must be installed on that Web server. In default configuration, an anonymous user cannot upload and run Microsoft .NET code on an Internet Information Server (IIS).

By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 runs in a restricted mode that is known as Enhanced Security Configuration. This mode mitigates this vulnerability only in a Web-based attack scenario. See the FAQ section of this security bulletin for more information about Internet Explorer Enhanced Security Configuration.

Internet Explorer 8 disables the Microsoft .NET MIME Filter in the Internet Zone. This feature of Internet Explorer 8 makes successful exploitation of this vulnerability more difficult in Internet Explorer 8 by blocking a known technique for bypassing ASLR and DEP protection. This does not make it impossible to exploit this vulnerability in Internet Explorer 8, but it does make it more difficult for malicious Web sites to reliably exploit it.

In a Web-based attack scenario, an attacker could host a Web site that contains a Web page that is used to exploit this vulnerability. In addition, compromised Web sites and Web sites that accept or host user-provided content or advertisements could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail or Instant Messenger message that takes users to the attacker's Web site.

An attacker who successfully exploited this vulnerability could gain the same user rights as the local user or the user account of ASP.NET. Users or accounts that are configured to have fewer user rights on the system could be less impacted than users or accounts that operate with administrative user rights.
Top of sectionTop of section

Workarounds for Microsoft Silverlight and Microsoft .NET Framework CLR Vulnerability - CVE-2009-2497

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:

Disable partially trusted Microsoft .NET applications

To disable all Microsoft .NET applications running at partial trust, including XBAPs and Microsoft .NET applications located on the network, run the following commands from an elevated command prompt:

caspol –pp off
caspol –m –resetlockdown
caspol –pp on

Note You must be logged in as administrator or have administrative credentials to complete this workaround.

Impact of workaround. Some Microsoft .NET applications will not run.

How to undo the workaround.

To reset the Microsoft .NET security policies to the defaults, run the following commands from an elevated command prompt:

caspol –pp off
caspol –m –reset
caspol –pp on

Note You must be logged in as administrator or have administrative credentials to undo this workaround.

Disable XAML browser applications in Internet Explorer

You can help protect against this vulnerability by changing your settings to prompt before running XAML browser applications or to disable XAML browser applications in the Internet and Local intranet security zones.

Tools menu and then select Internet Options.

Security tab, click Internet, and then click Custom level.

Settings, for Loose XAML, click Prompt or Disable, and then click OK. Repeat these steps for XAML browser applications and XPS documents.

Security tab, click Custom level, under .NET Framework-reliant components, for Run components not signed with Authenticode, click Prompt or Disable, and then click OK. Repeat these steps for Run components signed with Authenticode, and then click OK.

Local intranet, and then click Custom Level. Repeat steps 3 and 4. If you are prompted to confirm that you want to change these settings, click Yes. Click OK to return to Internet Explorer.

Impact of workaround. Microsoft .NET code will not run in Internet Explorer or will not run without a prompt. Disabling Microsoft .NET applications and components in the Internet and Local Intranet security zones may cause some Web sites to work incorrectly. If you have difficulty using a Web site after you change this setting and you are sure the site is safe to use, you can add that site to your list of trusted sites. This will allow the site to work correctly.

How to undo the workaround.

Tools menu and then select Internet Options.

Security tab, click Reset all zones to default level, and then click OK.

Temporarily prevent the Microsoft Silverlight ActiveX control from running in Internet Explorer on Windows XP Service Pack 2 or later

You can help protect against these vulnerabilities by temporarily preventing the Silverlight ActiveX control from running in Internet Explorer. You can use the Internet Explorer Manage Add-ons feature to disable the ActiveX control.

Tools menu and then select Manage Add-ons.

Microsoft Silverlight.

Disable, and then click OK.

Note If you cannot locate the ActiveX control, use the drop-down box to switch from "Add-ons currently being used in Internet Explorer" to "Add-ons that have been used by Internet Explorer", or from "Currently loaded add-ons" to "All add-ons", and then follow steps 2 and 3. If the ActiveX control is not present in this list you either have not used the ActiveX control before or it is not present on your system.

Note This workaround is intended only for systems on which Silverlight is already installed, and cannot be used proactively on systems where Silverlight is not yet installed.

For more information on the Internet Explorer Manage Add-ons feature in Windows XP Service Pack 2, see Microsoft Knowledge Base Article 883256.

Impact of workaround. Applications and Web sites that require the Microsoft Silverlight ActiveX control may no longer function correctly. If you implement this workaround it would affect any Silverlight ActiveX control you have installed on your system.

How to undo the workaround.

Tools menu and then select Manage Add-ons.

Microsoft Silverlight, click Enable, and then click OK.

Temporarily prevent the Microsoft Silverlight ActiveX control from running in Internet Explorer

You can help protect against these vulnerabilities by temporarily preventing attempts to instantiate the Silverlight ActiveX control in Internet Explorer by setting the kill bit for the control.

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

We recommend that you back up the registry before you edit it.

Use the following text to create a .reg file that temporarily prevents attempts to instantiate the Silverlight ActiveX control in Internet Explorer. You can copy the following text, paste it into a text editor such as Notepad, and then save the file with the .reg file name extension. Run the .reg file on the vulnerable client.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{DFEAF541-F3E1-4C24-ACAC-99C30715084A}]

Close Internet Explorer and reopen it for the changes to take effect.

For detailed steps about stopping a control from running in Internet Explorer, see Microsoft Knowledge Base Article 240797. Follow these steps and create a Compatibility Flags value in the registry to prevent the Silverlight ActiveX control from running in Internet Explorer.

Impact of workaround. Applications and Web sites that require the Microsoft Silverlight ActiveX control may no longer function correctly. If you implement this workaround it would affect any Silverlight ActiveX control you have installed on your system.

How to undo the workaround. Remove the registry keys added to temporarily prevent attempts to instantiate the Silverlight ActiveX control in Internet Explorer.
Top of sectionTop of section

FAQ for Microsoft Silverlight and Microsoft .NET Framework CLR Vulnerability - CVE-2009-2497

What is the scope of the vulnerability?
This vulnerability is a remote code execution vulnerability in either the context of the currently logged on user, or in the context of the service account associated with an application pool identity.

What causes the vulnerability?
This vulnerability results from the manner in which the Microsoft .NET Common Language Runtime (CLR) handles interfaces.

What is the CLR?
The Microsoft .NET Framework provides a run-time environment called the Common Language Runtime (CLR), which runs the code and provides services that make the development process easier. For more information about the CLR, see Common Language Runtime Overview.

What is an XBAP?
An XAML browser application (XBAP) combines features of both a Web application and a rich-client application. Like Web applications, XBAPs can be published to a Web server and launched from Internet Explorer. Like rich-client applications, XBAPs can take advantage of the capabilities of Windows Presentation Foundation (WPF). For more information about XBAPs, see Windows Presentation Foundation XAML Browser Applications Overview.

What is Silverlight?
Microsoft Silverlight is a cross-browser, cross-platform implementation of the Microsoft .NET Framework for building media experiences and rich interactive applications for the Web. For more information, see The Official Site of Silverlight.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could obtain the same permissions as the currently logged-on user. If a user is logged on with administrative user rights, an attacker could take complete control of the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

In the Web hosting scenario, an attacker who successfully exploits this vulnerability could obtain the same permissions as the service account associated with the application pool identity of the application pool that a Microsoft .NET application is running under. Depending on application pool isolation configuration and permissions granted to the service account, an attacker might be able to take control over other application pools on the Web server or be able to take complete control of the affected system. For more information about application pool identities and configuration, see Configure Application Pool Identity.

How could an attacker exploit the vulnerability?
There are three scenarios possible for exploitation of this vulnerability: a Web browsing scenario, a Web hosting scenario, and a Microsoft .NET Framework application scenario. These scenarios are described below.

Web browsing scenario
An attacker could host a specially crafted Web site that contains a specially crafted XBAP (XAML browser application) or Silverlight application that could exploit this vulnerability and then convince a user to view the Web site. The attacker could also take advantage of compromised Web sites and Web sites that accept or host user-provided content or advertisements. These Web sites could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail message or in an Instant Messenger message that takes users to the attacker's Web site. It could also be possible to display specially crafted Web content by using banner advertisements or by using other methods to deliver Web content to affected systems.

Web hosting scenario
If a Web hosting environment allows users to upload custom ASP.NET applications, an attacker could upload a malicious ASP.NET application that uses this vulnerability to break out of the sandbox used to prevent ASP.NET code from performing harmful actions on the server system.

Microsoft .NET Framework application scenario
An attacker could place a malicious Microsoft .NET Framework application on a network share and convince users on that network to execute this application.

What systems are primarily at risk from the vulnerability?
There are two types of systems at risk from this vulnerability, described below: systems that are using the Web browsing scenario, and systems that are using the Web hosting scenario.

Web browsing scenario
Successful exploitation of this vulnerability requires that a user is logged on and is visiting Web sites using a Web browser capable of instantiating XBAPs or Silverlight applications. Therefore, any systems where a Web browser is used frequently, such as workstations or terminal servers, are at the most risk from this vulnerability. Servers could be at more risk if administrators allow users to browse and read e-mail on servers. However, best practices strongly discourage allowing this.

Web hosting scenario
Web hosting sites that allow users to upload custom ASP.NET applications are at increased risk.

I am running Internet Explorer on Windows Server 2003 or Windows Server 2008. Does this mitigate this vulnerability?
Yes and no. For the Web browsing attack scenario, running Internet Explorer on Windows Server 2003 and Windows Server 2008 mitigates the vulnerability, but for the Web hosting and Microsoft .NET application attack scenario, these platforms do not mitigate the vulnerability. By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 runs in a restricted mode that is known as Enhanced Security Configuration. Enhanced Security Configuration is a group of preconfigured settings in Internet Explorer that can reduce the likelihood of a user or administrator downloading and running specially crafted Web content on a server. This is a mitigating factor for Web sites that you have not added to the Internet Explorer Trusted sites zone. See also Managing Internet Explorer Enhanced Security Configuration.

I have written a Microsoft .NET application or a Silverlight application. Do I need to recompile it?
Microsoft .NET applications and Silverlight applications that are not malicious are not at risk for being compromised because of this vulnerability and do not need to be recompiled. Only applications built in a specifically malicious way could exploit this vulnerability.

What does the update do?
This update modifies the way in which the Microsoft .NET CLR handles interfaces.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
Yes. This vulnerability has been publicly disclosed. It has been assigned Common Vulnerability and Exposure number CVE-2009-2497.

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
No. Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers and had not seen any examples of proof of concept code published when this security bulletin was originally issued.

Other Information
Acknowledgments

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

Pavel Minaev for reporting the Microsoft .NET Framework Pointer Verification Vulnerability (CVE-2009-0090)

Jeroen Frijters of Sumatra for reporting the Microsoft .NET Framework Type Verification Vulnerability (CVE-2009-0091)
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 (October 13, 2009): Bulletin published.

Related for SECURITYVULNS:DOC:22618