Security Bulletin

Microsoft Security Bulletin MS12-035 - Critical

Vulnerabilities in .NET Framework Could Allow Remote Code Execution (2693777)

Published: May 08, 2012 | Updated: October 03, 2012

Version: 2.3

General Information

Executive Summary

This security update resolves two privately reported vulnerabilities in the .NET Framework. The vulnerabilities could allow remote code execution on a client system if a user views a specially crafted webpage using a web browser that can run XAML Browser Applications (XBAPs). 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.

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

The security update addresses the vulnerabilities by correcting the manner in which the .NET Framework serialization process handles trusted and untrusted data. 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

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 Updates Replaced
Windows XP
Windows XP Service Pack 3 Microsoft .NET Framework 1.0 Service Pack 3 (KB2604042) (Media Center Edition 2005 Service Pack 3 and Tablet PC Edition 2005 Service Pack 3 only) Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604092) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604110) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572066 in MS11-078 replaced by KB2604042 KB2572067 in MS11-078 replaced by KB2656353 KB2518864 in MS11-044 and KB2572073 in MS11-078 and KB2633880 in MS12-016 replaced by KB2604092 No update replaced by KB2604110 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows XP Professional x64 Edition Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604092) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604110) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518864 in MS11-044 and KB2572073 in MS11-078 and KB2633880 in MS12-016 replaced by KB2604092 No update replaced by KB2604110 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2003
Windows Server 2003 Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2604078) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604092) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604110) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572069 in MS11-078 replaced by KB2604078 KB2518864 in MS11-044 and KB2572073 in MS11-078 and KB2633880 in MS12-016 replaced by KB2604092 No update replaced by KB2604110 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2003 x64 Edition Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604092) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604110) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518864 in MS11-044 and KB2572073 in MS11-078 and KB2633880 in MS12-016 replaced by KB2604092 No update replaced by KB2604110 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2003 with SP2 for Itanium-based Systems Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604092) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518864 in MS11-044 and KB2572073 in MS11-078 and KB2633880 in MS12-016 replaced by KB2604092 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Vista
Windows Vista Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604094) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604105) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518866 in MS11-044 and KB2572075 in MS11-078 and KB2633874 in MS12-016 replaced by KB2604094 No update replaced by KB2604105 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Vista x64 Edition Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604094) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604105) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518866 in MS11-044 and KB2572075 in MS11-078 and KB2633874 in MS12-016 replaced by KB2604094 No update replaced by KB2604105 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2008
Windows Server 2008 for 32-bit Systems Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604094) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604105) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518866 in MS11-044 and KB2572075 in MS11-078 and KB2633874 in MS12-016 replaced by KB2604094 No update replaced by KB2604105 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2008 for x64-based Systems Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604094) Microsoft .NET Framework 3.0 Service Pack 2 (KB2604105) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518866 in MS11-044 and KB2572075 in MS11-078 and KB2633874 in MS12-016 replaced by KB2604094 No update replaced by KB2604105 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2008 for Itanium-based Systems Service Pack 2 Microsoft .NET Framework 1.1 Service Pack 1 (KB2656353) Microsoft .NET Framework 2.0 Service Pack 2 (KB2604094) Microsoft .NET Framework 3.5 Service Pack 1 (KB2604111) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2572067 in MS11-078 replaced by KB2656353 KB2518866 in MS11-044 and KB2572075 in MS11-078 and KB2633874 in MS12-016 replaced by KB2604094 No update replaced by KB2604111 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows 7
Windows 7 for 32-bit Systems Microsoft .NET Framework 3.5.1 (KB2604114) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518867 in MS11-044 and KB2572076 in MS11-078 and KB2633879 in MS12-016 replaced by KB2604114 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows 7 for 32-bit Systems Service Pack 1 Microsoft .NET Framework 3.5.1 (KB2604115) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518869 in MS11-044 and KB2572077 in MS11-078 and KB2633873 in MS12-016 replaced by KB2604115 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows 7 for x64-based Systems Microsoft .NET Framework 3.5.1 (KB2604114) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518867 in MS11-044 and KB2572076 in MS11-078 and KB2633879 in MS12-016 replaced by KB2604114 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows 7 for x64-based Systems Service Pack 1 Microsoft .NET Framework 3.5.1 (KB2604115) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518869 in MS11-044 and KB2572077 in MS11-078 and KB2633873 in MS12-016 replaced by KB2604115 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2008 R2
Windows Server 2008 R2 for x64-based Systems Microsoft .NET Framework 3.5.1 (KB2604114) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518867 in MS11-044 and KB2572076 in MS11-078 and KB2633879 in MS12-016 replaced by KB2604114 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2008 R2 for x64-based Systems Service Pack 1 Microsoft .NET Framework 3.5.1 (KB2604115) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518869 in MS11-044 and KB2572077 in MS11-078 and KB2633873 in MS12-016 replaced by KB2604115 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2008 R2 for Itanium-based Systems Microsoft .NET Framework 3.5.1 (KB2604114) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518867 in MS11-044 and KB2572076 in MS11-078 and KB2633879 in MS12-016 replaced by KB2604114 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 Microsoft .NET Framework 3.5.1 (KB2604115) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518869 in MS11-044 and KB2572077 in MS11-078 and KB2633873 in MS12-016 replaced by KB2604115 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121
Server Core installation option
Windows Server 2008 R2 for x64-based Systems Microsoft .NET Framework 3.5.1 (KB2604114) Remote Code Execution Critical KB2518867 in MS11-044 and KB2572076 in MS11-078 and KB2633879 in MS12-016 replaced by KB2604114
Windows Server 2008 R2 for x64-based Systems Service Pack 1 Microsoft .NET Framework 3.5.1 (KB2604115) Microsoft .NET Framework 4[1](KB2604121) Remote Code Execution Critical KB2518869 in MS11-044 and KB2572077 in MS11-078 and KB2633873 in MS12-016 replaced by KB2604115 KB2518870 in MS11-044 and KB2572078 in MS11-078 and KB2633870 in MS12-016 replaced by KB2604121

[1].NET Framework 4 and .NET Framework 4 Client Profile affected. The .NET Framework version 4 redistributable packages are available in two profiles: .NET Framework 4 and .NET Framework 4 Client Profile. .NET Framework 4 Client Profile is a subset of .NET Framework 4. The vulnerability addressed in this update affects both .NET Framework 4 and .NET Framework 4 Client Profile. For more information, see the MSDN article, Installing the .NET Framework.

Why was this bulletin revised on May 22, 2012?
Added an entry to the update FAQ to announce a detection change for KB2604092 for Microsoft .NET Framework 2.0 Service Pack 2 and KB2604110 for Microsoft .NET Framework 3.0 Service Pack 2 to correct an installation issue. This is a detection change only. There were no changes to the security update files. Customers who have already successfully updated their systems do not need to take any action.

Why was this bulletin revised on May 10, 2012?
Microsoft revised this bulletin to communicate that for all supported systems running Microsoft .NET Framework 1.1 Service Pack 1, except when installed on Windows Server 2003 Service Pack 2, the vulnerabilities described in this bulletin are addressed by security update KB2656353. Security update KB2656353 was previously offered in MS11-100, but also addresses the vulnerabilities described in this bulletin, CVE-2012-0160 and CVE-2012-0161.

Security update KB2656353 is available through all standard deployment channels, including Microsoft Update, Windows Update, and the Microsoft Download Center. There were no changes to the security update files. Customers who have successfully installed either KB2656353, from MS11-100, or KB2604044, previously offered through this bulletin, do not need to take any action. Customers running Microsoft .NET Framework 1.1 Service Pack 1 on all supported systems except Windows Server 2003 Service Pack 2, who have not installed either KB2656353 or KB2604044, should apply the KB2656353 update immediately using update management software, or by checking for updates using the Microsoft Update service.

Is this bulletin related to MS12-034, Combined Security Update for Microsoft Office, Windows, .NET Framework, and Silverlight?
No. Although both of these security updates affect the .NET Framework, the updates affect different components and are not related. These updates may be applied in any order.

How do I determine which version of the Microsoft .NET Framework is installed?
You can install and run multiple versions of the .NET Framework on a system, and you can install the versions in any order. There are several ways to determine which versions of the .NET Framework are currently installed. For more information, see Microsoft Knowledge Base Article 318785.

What is the difference between .NET Framework 4 and .NET Framework 4 Client Profile?
The .NET Framework version 4 redistributable packages are available in two profiles: .NET Framework 4 and .NET Framework 4 Client Profile. The .NET Framework 4 Client Profile is a subset of the .NET Framework 4 profile that is optimized for client applications. It provides functionality for most client applications, including Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF), and ClickOnce features. This enables faster deployment and a smaller install package for applications that target the .NET Framework 4 Client Profile. For more information, see the MSDN article, .NET Framework Client Profile.

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

I am using an older release of the software discussed in this security bulletin. What should I do?
The affected software listed in this bulletin have been tested to determine which releases are affected. Other releases are past their support life cycle. For more information about the product lifecycle, visit the Microsoft Support Lifecycle website.

It should be a priority for customers who have older releases of the software to migrate to supported releases to prevent potential exposure to vulnerabilities. To determine the support lifecycle for your software release, see Select a Product for Lifecycle Information. For more information about service packs for these software releases, see Service Pack Lifecycle Support Policy.

Customers who require custom support for older software must contact their Microsoft account team representative, their Technical Account Manager, or the appropriate Microsoft partner representative for custom support options. Customers without an Alliance, Premier, or Authorized Contract can contact their local Microsoft sales office. For contact information, visit the Microsoft Worldwide Information website, select the country in the Contact Information list, and then click Go to see a list of telephone numbers. When you call, ask to speak with the local Premier Support sales manager. For more information, see the Microsoft Support Lifecycle Policy FAQ.

Vulnerability Information

Severity Ratings and Vulnerability Identifiers

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

Affected Software .NET Framework Serialization Vulnerability - CVE-2012-0160 .NET Framework Serialization Vulnerability - CVE-2012-0161 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 3 and Windows XP Media Center Edition 2005 Service Pack 3 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Service Pack 3 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 on Windows Server 2003 Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2003 x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2003 Itanium-based Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Vista Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Vista x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 for 32-bit Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 for x64-based Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2008 for Itanium-based Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2
Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows XP Service Pack 3 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows XP Professional x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows Server 2003 Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows Server 2003 x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows Server 2003 with SP2 for Itanium-based Systems Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 on Windows Vista Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 on Windows Vista x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2008 for 32-bit Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2008 for x64-based Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 2.0 Service Pack 2 on Windows Server 2008 for Itanium-based Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2
Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows XP Service Pack 3 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows XP Professional x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows Server 2003 Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows Server 2003 x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2 on Windows Vista Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2 on Windows Vista x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2 on Windows Server 2008 for 32-bit Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.0 Service Pack 2 on Windows Server 2008 for x64-based Systems Service Pack 2 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 3 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2003 Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2003 x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2003 with SP2 for Itanium-based Systems Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 on Windows Vista Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 on Windows Vista x64 Edition Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 on Windows Server 2008 for 32-bit Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 on Windows Server 2008 for x64-based Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5 Service Pack 1 on Windows Server 2008 for Itanium-based Systems Service Pack 2 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1
Microsoft .NET Framework 3.5.1 on Windows 7 for 32-bit Systems Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Windows 7 for 32-bit Systems Service Pack 1 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Windows 7 for x64-based Systems Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Windows 7 for x64-based Systems Service Pack 1 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems Service Pack 1 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for Itanium-based Systems Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4
Microsoft .NET Framework 4 when installed on Windows XP Service Pack 3[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows XP Professional x64 Edition Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2003 Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2003 x64 Edition Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2003 with SP2 for Itanium-based Systems[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Vista Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Vista x64 Edition Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 for 32-bit Systems Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 for x64-based Systems Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 for Itanium-based Systems Service Pack 2[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows 7 for 32-bit Systems[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows 7 for 32-bit Systems Service Pack 1[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows 7 for x64-based Systems[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows 7 for x64-based Systems Service Pack 1[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for x64-based Systems[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for x64-based Systems Service Pack 1[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for Itanium-based Systems[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for Itanium-based Systems Service Pack 1[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Server Core installation option
Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 3.5.1 on Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems Service Pack 1 Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for x64-based Systems[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical
Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for x64-based Systems Service Pack 1[1] Critical  Remote Code Execution Critical  Remote Code Execution Critical

[1].NET Framework 4 and .NET Framework 4 Client Profile affected. The .NET Framework version 4 redistributable packages are available in two profiles: .NET Framework 4 and .NET Framework 4 Client Profile. .NET Framework 4 Client Profile is a subset of .NET Framework 4. The vulnerability addressed in this update affects both .NET Framework 4 and .NET Framework 4 Client Profile. For more information, see the MSDN article, Installing the .NET Framework.

.NET Framework Serialization Vulnerability - CVE-2012-0160

A remote code execution vulnerability exists in the Microsoft .NET Framework due to the improper serialization of untrusted input. An attacker who successfully exploited this vulnerability could take complete control of an 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.

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

Mitigating Factors for .NET Framework Serialization Vulnerability - CVE-2012-0160

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:

  • In a web browsing attack scenario, an attacker could host a website that contains a webpage that is used to exploit this vulnerability. In addition, compromised websites and websites 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 websites. Instead, an attacker would have to convince users to visit the website, typically by getting them to click a link in an email message or Instant Messenger message that takes users to the attacker's website.
  • By default, Internet Explorer on Windows Server 2003, Windows Server 2008, and Windows Server 2008 R2 runs in a restricted mode that is known as Enhanced Security Configuration. This mode mitigates this vulnerability only on Windows Server 2008 and Windows Server 2008 R2, and only in a web browsing attack scenario. See the FAQ section of this vulnerability for more information about Internet Explorer Enhanced Security Configuration.
  • Standard .NET Framework applications are not affected by this vulnerability. Only specially crafted .NET Framework applications could exploit this vulnerability.

Workarounds for .NET Framework Serialization Vulnerability - CVE-2012-0160

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 offcaspol -m -resetlockdowncaspol -pp on

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

    Impact of workaround. Microsoft .NET applications may 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 offcaspol -m -resetcaspol -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

    To help protect against this vulnerability, change your settings to prompt before running XAML browser applications (XBAPs) or to disable XBAPs in the Internet and Local intranet security zones as follows:

    1. In Internet Explorer, click the Tools menu and then select Internet Options.
    2. Click the Security tab, click Internet, and then click Custom level. Under Settings, for Loose XAML, click Prompt or Disable, and then click OK.
    3. Click the Security tab, click Internet, and then click Custom level. Under Settings, for XAML browser applications, click Prompt or Disable, and then click OK.
    4. Click the Security tab, click Internet, and then click Custom level. Under Settings, for XPS documents, click Prompt or Disable, and then click OK.
    5. On the Security tab, click Custom level. Under .NET Framework-reliant components, set Run components not signed with Authenticode to either Prompt or Disable, and then click OK. Repeat this step for Run components signed with Authenticode, and then click OK.
    6. Click 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 prompting. Disabling Microsoft .NET applications and components in the Internet and Local intranet security zones may cause some websites to work incorrectly. If you have difficulty using a website 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.

    Add sites that you trust to the Internet Explorer Trusted sites zone

    After you set Internet Explorer to disable XAML browser applications or require a prompt before it runs Loose XAML, XAML browser applications, or XPS documents in the Internet zone and in the Local intranet zone, you can add sites that you trust to the Internet Explorer Trusted sites zone. This will allow you to continue to use trusted websites exactly as you do today, while helping to protect you from this attack on untrusted sites. We recommend that you add only sites that you trust to the Trusted sites zone.

    To do this, perform the following steps:

    1. In Internet Explorer, click Tools, click Internet Options, and then click the Security tab.
    2. In the Select a Web content zone to specify its current security settings box, click Trusted Sites, and then click Sites.
    3. If you want to add sites that do not require an encrypted channel, click to clear the Require server verification (https:) for all sites in this zone check box.
    4. In the Add this Web site to the zone box, type the URL of a site that you trust, and then click Add.
    5. Repeat these steps for each site that you want to add to the zone.
    6. Click OK two times to accept the changes and return to Internet Explorer.

    Note Add any sites that you trust not to take malicious action on your system. Two in particular that you may want to add are *.windowsupdate.microsoft.com and *.update.microsoft.com. These are the sites that will host the update, and it requires an ActiveX Control to install the update.

    How to undo the workaround. Perform the following steps:

    1. In Internet Explorer, click the Tools menu, and then select Internet Options.
    2. Click the Security tab, click Reset all zones to default level, and then click OK.

FAQ for .NET Framework Serialization Vulnerability - CVE-2012-0160

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

What causes the vulnerability?
This vulnerability is caused when the serialization process within the .NET Framework incorrectly treats untrusted data as trusted.

What is Serialization in the .NET Framework?
Serialization is the process of converting the state of an object into a form that can be persisted or transported. The complement of serialization is deserialization, which converts a stream into an object. The most basic serializer in the .NET Framework in the binary serializer. For more information about this component, see the MSDN article Binary Serialization.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could run arbitrary code as the logged-on user. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. If a user is logged-on with administrative user rights, an attacker could take complete control of the affected system. 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.

How could an attacker exploit the vulnerability?
There are two attack scenarios possible for exploiting this vulnerability: a web browsing scenario and a Windows .NET application bypass of Code Access Security (CAS) restrictions. These scenarios are described as follows:

  • Web browsing attack scenario
    An attacker could host a specially crafted website that contains a specially crafted XBAP (XAML browser application) that could exploit this vulnerability and then convince a user to view the website. The attacker could also take advantage of compromised websites and websites that accept or host user-provided content or advertisements. These websites 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 websites. Instead, an attacker would have to convince users to visit the website, typically by getting them to click a link in an email message or in an Instant Messenger message that takes users to the attacker's website. 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.
  • Windows .NET applications attack scenario
    This vulnerability could also be used by Windows .NET applications to bypass Code Access Security (CAS) restrictions.

What is an XAML Browser Application (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 MSDN article, Windows Presentation Foundation XAML Browser Applications Overview.

What are .NET Framework Code Access Security (CAS) Restrictions?
The .NET Framework provides a security mechanism called code access security to help protect computer systems from malicious mobile code, to allow code from unknown origins to run with protection, and to help prevent trusted code from intentionally or accidentally compromising security. Code access security (CAS) enables code to be trusted to varying degrees depending on where the code originates and on other aspects of the code's identity. Code access security also enforces the varying levels of trust on code, which minimizes the amount of code that must be fully trusted in order to run. Using code access security can reduce the likelihood that your code will be misused by malicious or error-filled code. For more information on CAS, see the MSDN article, Code Access Security.

What systems are primarily at risk from the vulnerability?
There are two types of systems at risk from this vulnerability, described as follows: systems that are using the web browsing scenario and systems that are using the Windows .NET applications scenario.

  • Web browsing scenario
    Successful exploitation of this vulnerability requires that a user is logged on and is visiting websites 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 email on servers. However, best practices strongly discourage allowing this.
  • Windows .NET applications
    Workstations and servers that run untrusted Windows .NET applications are also at risk from this vulnerability.

I am running Internet Explorer for Windows Server 2003, Windows Server 2008, or Windows Server 2008 R2. Does this mitigate this vulnerability?
Yes. By default, Internet Explorer on Windows Server 2003, Windows Server 2008, and Windows Server 2008 R2 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 websites that you have not added to the Internet Explorer Trusted sites zone.

What does the update do?
The update addresses the vulnerability by correcting the manner in which the .NET Framework serialization process handles trusted and untrusted data.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through coordinated vulnerability 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 when this security bulletin was originally issued.

.NET Framework Serialization Vulnerability - CVE-2012-0161

A remote code execution vulnerability exists in the Microsoft .NET Framework due to the improper serialization of untrusted input through partially trusted assemblies. An attacker who successfully exploited this vulnerability could take complete control of an 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.

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

Mitigating Factors for .NET Framework Serialization Vulnerability - CVE-2012-0161

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:

  • In a web browsing attack scenario, an attacker could host a website that contains a webpage that is used to exploit this vulnerability. In addition, compromised websites and websites 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 websites. Instead, an attacker would have to convince users to visit the website, typically by getting them to click a link in an email message or Instant Messenger message that takes users to the attacker's website.
  • By default, Internet Explorer on Windows Server 2003, Windows Server 2008, and Windows Server 2008 R2 runs in a restricted mode that is known as Enhanced Security Configuration. This mode mitigates this vulnerability only on Windows Server 2008 and Windows Server 2008 R2, and only in a web browsing attack scenario. See the FAQ section of this vulnerability for more information about Internet Explorer Enhanced Security Configuration.

Workarounds for .NET Framework Serialization Vulnerability - CVE-2012-0161

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 XAML browser applications in Internet Explorer

    To help protect against this vulnerability, change your settings to prompt before running XAML browser applications (XBAPs) or to disable XBAPs in the Internet and Local intranet security zones as follows:

    1. In Internet Explorer, click the Tools menu and then select Internet Options.
    2. Click the Security tab, click Internet, and then click Custom level. Under Settings, for Loose XAML, click Prompt or Disable, and then click OK.
    3. Click the Security tab, click Internet, and then click Custom level. Under Settings, for XAML browser applications, click Prompt or Disable, and then click OK.
    4. Click the Security tab, click Internet, and then click Custom level. Under Settings, for XPS documents, click Prompt or Disable, and then click OK.
    5. On the Security tab, click Custom level. Under .NET Framework-reliant components, set Run components not signed with Authenticode to either Prompt or Disable, and then click OK. Repeat this step for Run components signed with Authenticode, and then click OK.
    6. Click 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 prompting. Disabling Microsoft .NET applications and components in the Internet and Local intranet security zones may cause some websites to work incorrectly. If you have difficulty using a website 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.

    Add sites that you trust to the Internet Explorer Trusted sites zone

    After you set Internet Explorer to disable XAML browser applications or require a prompt before it runs Loose XAML, XAML browser applications, or XPS documents in the Internet zone and in the Local intranet zone, you can add sites that you trust to the Internet Explorer Trusted sites zone. This will allow you to continue to use trusted websites exactly as you do today, while helping to protect you from this attack on untrusted sites. We recommend that you add only sites that you trust to the Trusted sites zone.

    To do this, perform the following steps:

    1. In Internet Explorer, click Tools, click Internet Options, and then click the Security tab.
    2. In the Select a Web content zone to specify its current security settings box, click Trusted Sites, and then click Sites.
    3. If you want to add sites that do not require an encrypted channel, click to clear the Require server verification (https:) for all sites in this zone check box.
    4. In the Add this Web site to the zone box, type the URL of a site that you trust, and then click Add.
    5. Repeat these steps for each site that you want to add to the zone.
    6. Click OK two times to accept the changes and return to Internet Explorer.

    Note Add any sites that you trust not to take malicious action on your system. Two in particular that you may want to add are *.windowsupdate.microsoft.com and *.update.microsoft.com. These are the sites that will host the update, and it requires an ActiveX Control to install the update.

    How to undo the workaround. Perform the following steps:

    1. In Internet Explorer, click the Tools menu, and then select Internet Options.
    2. Click the Security tab, click Reset all zones to default level, and then click OK.

FAQ for .NET Framework Serialization Vulnerability - CVE-2012-0161

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

What causes the vulnerability?
The vulnerability is caused when the .NET Framework improperly handles an exception during the object serialization process.

What is Object Serialization in the .NET Framework?
Serialization can be defined as the process of storing the state of an object instance to a storage medium. During this process, the public and private fields of the object and the name of the class, including the assembly containing the class, is converted to a stream of bytes, which is then written to a data stream. When the object is subsequently deserialized, an exact clone of the original object is created. For more information, see the MSDN article Object Serialization in the .NET Framework.

What might an attacker use the vulnerability to do?
In the web browsing scenario, 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.

How could an attacker exploit the vulnerability?
There are two attack scenarios possible for exploiting this vulnerability: a web browsing scenario and a Windows .NET application bypass of Code Access Security (CAS) restrictions. These scenarios are described as follows:

  • Web browsing attack scenario
    An attacker could host a specially crafted website that contains a specially crafted XBAP (XAML browser application) that could exploit this vulnerability and then convince a user to view the website. The attacker could also take advantage of compromised websites and websites that accept or host user-provided content or advertisements. These websites 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 websites. Instead, an attacker would have to convince users to visit the website, typically by getting them to click a link in an email message or in an Instant Messenger message that takes users to the attacker's website. 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.
  • Windows .NET applications attack scenario
    This vulnerability could also be used by Windows .NET applications to bypass Code Access Security (CAS) restrictions.

What is an XAML Browser Application (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 MSDN article, Windows Presentation Foundation XAML Browser Applications Overview.

What are .NET Framework Code Access Security (CAS) Restrictions?
The .NET Framework provides a security mechanism called code access security to help protect computer systems from malicious mobile code, to allow code from unknown origins to run with protection, and to help prevent trusted code from intentionally or accidentally compromising security. Code access security (CAS) enables code to be trusted to varying degrees depending on where the code originates and on other aspects of the code's identity. Code access security also enforces the varying levels of trust on code, which minimizes the amount of code that must be fully trusted in order to run. Using code access security can reduce the likelihood that your code will be misused by malicious or error-filled code. For more information on CAS, see the MSDN article, Code Access Security.

What systems are primarily at risk from the vulnerability?
There are two types of systems at risk from this vulnerability, described as follows: systems that are using the web browsing scenario and systems that are using the Windows .NET applications scenario.

  • Web browsing scenario
    Successful exploitation of this vulnerability requires that a user is logged on and is visiting websites 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 email on servers. However, best practices strongly discourage allowing this.
  • Windows .NET applications
    Workstations and servers that run untrusted Windows .NET applications are also at risk from this vulnerability.

I am running Internet Explorer for Windows Server 2003, Windows Server 2008, or Windows Server 2008 R2. Does this mitigate this vulnerability?
Yes. By default, Internet Explorer on Windows Server 2003, Windows Server 2008, and Windows Server 2008 R2 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 websites that you have not added to the Internet Explorer Trusted sites zone.

What does the update do?
The update addresses the vulnerability by correcting the manner in which the Microsoft .NET Framework handles object serialization.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through coordinated vulnerability 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 when this security bulletin was originally issued.

Update Information

Detection and Deployment Tools and Guidance

Security Central

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

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

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

Detection and Deployment Guidance

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

Microsoft Baseline Security Analyzer

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

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

Software MBSA
Windows XP Service Pack 3 Yes
Windows XP Professional x64 Edition Service Pack 2 Yes
Windows Server 2003 Service Pack 2 Yes
Windows Server 2003 x64 Edition Service Pack 2 Yes
Windows Server 2003 with SP2 for Itanium-based Systems Yes
Windows Vista Service Pack 2 Yes
Windows Vista x64 Edition Service Pack 2 Yes
Windows Server 2008 for 32-bit Systems Service Pack 2 Yes
Windows Server 2008 for x64-based Systems Service Pack 2 Yes
Windows Server 2008 for Itanium-based Systems Service Pack 2 Yes
Windows 7 for 32-bit Systems and Windows 7 for 32-bit Systems Service Pack 1 Yes
Windows 7 for x64-based Systems and Windows 7 for x64-based Systems Service Pack 1 Yes
Windows Server 2008 R2 for x64-based Systems and Windows Server 2008 R2 for x64-based Systems Service Pack 1 Yes
Windows Server 2008 R2 for Itanium-based Systems and Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 Yes

Note For customers using legacy software not supported by the latest release of MBSA, Microsoft Update, and Windows Server Update Services, please visit Microsoft Baseline Security Analyzer and reference the Legacy Product Support section on how to create comprehensive security update detection with legacy tools.

Windows Server Update Services

Windows Server Update Services (WSUS) enables information technology administrators to deploy the latest Microsoft product updates to computers that are running the Windows operating system. For more information about how to deploy security updates using Windows Server Update Services, see the TechNet article, Windows Server Update Services.

Systems Management Server

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

Software SMS 2003 with ITMU Configuration Manager 2007
Windows XP Service Pack 3 Yes Yes
Windows XP Professional x64 Edition Service Pack 2 Yes Yes
Windows Server 2003 Service Pack 2 Yes Yes
Windows Server 2003 x64 Edition Service Pack 2 Yes Yes
Windows Server 2003 with SP2 for Itanium-based Systems Yes Yes
Windows Vista Service Pack 2 Yes Yes
Windows Vista x64 Edition Service Pack 2 Yes Yes
Windows Server 2008 for 32-bit Systems Service Pack 2 Yes Yes
Windows Server 2008 for x64-based Systems Service Pack 2 Yes Yes
Windows Server 2008 for Itanium-based Systems Service Pack 2 Yes Yes
Windows 7 for 32-bit Systems and Windows 7 for 32-bit Systems Service Pack 1 Yes Yes
Windows 7 for x64-based Systems and Windows 7 for x64-based Systems Service Pack 1 Yes Yes
Windows Server 2008 R2 for x64-based Systems and Windows Server 2008 R2 for x64-based Systems Service Pack 1 Yes Yes
Windows Server 2008 R2 for Itanium-based Systems and Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 Yes Yes

Note Microsoft discontinued support for SMS 2.0 on April 12, 2011. For SMS 2003, Microsoft also discontinued support for the Security Update Inventory Tool (SUIT) on April 12, 2011. Customers are encouraged to upgrade to System Center Configuration Manager 2007. For customers remaining on SMS 2003 Service Pack 3, the Inventory Tool for Microsoft Updates (ITMU) is also an option.

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

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

For more information about SMS, visit the SMS website.

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

Update Compatibility Evaluator and Application Compatibility Toolkit

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

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

Security Update Deployment

Affected Software

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

Windows XP (all editions)

Reference Table

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

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment  
Installing without user intervention For Microsoft .NET Framework 1.0 Service Pack 3 on Windows XP Tablet Edition 2005 Service Pack 3 and Windows XP Media Center Edition 2005 Service Pack 3:\ NDP1.0sp3-KB2604042-X86-Ocm-Enu.exe /quiet
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Service Pack 3:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows XP Service Pack 3:\ NDP20SP2-KB2604092-x86.exe /quiet
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows XP Service Pack 3:\ NDP30SP2-KB2604110-x86.exe /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP Service Pack 3:\ NDP35SP1-KB2604111-x86.exe /quiet
For Microsoft .NET Framework 4 when installed on Windows XP Service Pack 3:\ NDP40-KB2604121-x86.exe /quiet
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP20SP2-KB2604092-x64.exe /quiet
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP30SP2-KB2604110-x64.exe /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP35SP1-KB2604111-x86.exe /quiet
For Microsoft .NET Framework 4 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP40-KB2604121-x64.exe /quiet
Installing without restarting For Microsoft .NET Framework 1.0 Service Pack 3 on Windows XP Tablet Edition 2005 Service Pack 3 and Windows XP Media Center Edition 2005 Service Pack 3:\ NDP1.0sp3-KB2604042-X86-Ocm-Enu.exe /quiet /norestart
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Service Pack 3:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows XP Service Pack 3:\ NDP20SP2-KB2604092-x86.exe /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows XP Service Pack 3:\ NDP30SP2-KB2604110-x86.exe /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP Service Pack 3:\ NDP35SP1-KB2604111-x86.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on Windows XP Service Pack 3:\ NDP40-KB2604121-x86.exe /quiet /norestart
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP20SP2-KB2604092-x64.exe /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP30SP2-KB2604110-x64.exe /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP35SP1-KB2604111-x64.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on Windows XP Professional x64 Edition Service Pack 2:\ NDP40-KB2604121-x64.exe /quiet /norestart
Update log file For Microsoft .NET Framework 1.0 Service Pack 3:\ KB2604042.log
For Microsoft .NET Framework 1.1 Service Pack 1:\ NDP1.1SP1-KB2656353-x86-msi.0.log\ NDP1.1SP1-KB2656353-x86-wrapper.log
For Microsoft .NET Framework 2.0 Service Pack 2:\ Microsoft .NET Framework 2.0-KB2604092_*-msi0.txt\ Microsoft .NET Framework 2.0-KB2604092_*.html
For Microsoft .NET Framework 3.0 Service Pack 2:\ Microsoft .NET Framework 3.0-KB2604110_*-msi0.txt\ Microsoft .NET Framework 3.0-KB2604110_*.html
For Microsoft .NET Framework 3.5 Service Pack 1:\ Microsoft .NET Framework 3.5-KB2604111_*-msi0.txt\ Microsoft .NET Framework 3.5-KB2604111_*.html
For Microsoft .NET Framework 4:\ KB2604121_**-Microsoft .NET Framework 4 Client Profile-MSP0.txt\ KB2604121*_*.html
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement  
Restart required? In some cases, this update does not require a restart. If the required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to restart.\ \ To help reduce the chance that a restart will be required, stop all affected services and close all applications that may use the affected files prior to installing the security update. For more information about the reasons why you may be prompted to restart, see Microsoft Knowledge Base Article 887012.
HotPatching Not applicable
Removal Information For all supported versions of Microsoft .NET Framework, use the Add or Remove Programs item in Control Panel.
File Information See Microsoft Knowledge Base Article 2693777
Registry Key Verification For Microsoft .NET Framework 1.0 Service Pack 3:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates.NETFramework\1.0\M2604042|
For Microsoft .NET Framework 1.1 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates.NETFramework\1.1\M2656353\ "Installed" = dword:1
For Microsoft .NET Framework 2.0 Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 2.0 Service Pack 2\SP2\KB2604092\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 3.0 Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 3.0 Service Pack 2\SP2\KB2604110\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 3.5 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 3.5 SP1\SP1\KB2604111\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on Windows XP Service Pack 3:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on Windows XP Professional x64 Edition Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"

Note The update for supported versions of Windows XP Professional x64 Edition also applies to supported versions of Windows Server 2003 x64 Edition.

Deployment Information

Installing the Update

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

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

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Removing the Update

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

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

  • File Version Verification

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

    1. Click Start, and then click Search.
    2. In the Search Results pane, click All files and folders under Search Companion.
    3. In the All or part of the file name box, type a file name from the appropriate file information table, and then click Search.
    4. In the list of files, right-click a file name from the appropriate file information table, and then click Properties.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    5. On the Version tab, determine the version of the file that is installed on your system by comparing it to the version that is documented in the appropriate file information table.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.
  • Registry Key Verification

    You may also be able to verify the files that this security update has installed by reviewing the registry keys listed in the Reference Table in this section.

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

Windows Server 2003 (all editions)

Reference Table

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

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment
Installing without user intervention For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2003:\ WindowsServer2003-KB2604078-x86-ENU.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP20SP2-KB2604092-x86.exe /quiet
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP30SP2-KB2604110-x86.exe /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP35SP1-KB2604111-x86.exe /quiet
For Microsoft .NET Framework 4 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP40-KB2604121-x86.exe /quiet
  For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2003:\ NDP1.1sp1-KB2656353-X86.exe /quiet
  For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2003:\ NDP20SP2-KB2604092-x64.exe /quiet
  For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2003:\ NDP30SP2-KB2604110-x64.exe /quiet
  For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2003:\ NDP35SP1-KB2604111-x64.exe /quiet
  For Microsoft .NET Framework 4 when installed on all supported x64-based editions of Windows Server 2003:\ NDP40-KB2604121-x64.exe /quiet
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP20SP2-KB2604092-ia64.exe /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP35SP1-KB2604111-IA64.exe /quiet
For Microsoft .NET Framework 4 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP40-KB2604121-IA64.exe /quiet
Installing without restarting For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2003:\ WindowsServer2003-KB2604078-x86-ENU.exe /quiet /norestart
  For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP20SP2-KB2604092-x86.exe /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP30SP2-KB2604110-x86.exe /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP35SP1-KB2604111-x86.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported 32-bit editions of Windows Server 2003:\ NDP40-KB2604121-x86.exe /quiet /norestart
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2003:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2003:\ NDP20SP2-KB2604092-x64.exe /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2003:\ NDP30SP2-KB2604110-x64.exe /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2003:\ NDP35SP1-KB2604111-x64.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported x64-based editions of Windows Server 2003:\ NDP40-KB2604121-x64.exe /quiet /norestart
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP20SP2-KB2604092-ia64.exe /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP35SP1-KB2604111-IA64.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported Itanium-based editions of Windows Server 2003:\ NDP40-KB2604121-IA64.exe /quiet /norestart
Update log file For Microsoft .NET Framework 1.1 Service Pack 1 on Windows Server 2003 Service Pack 2:\ KB2604078.log
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2003 x64 Edition Service Pack 2 and Windows Server 2003 Itanium-based Edition Service Pack 2:\ NDP1.1SP1-KB2656353-x86-msi.0.log\ NDP1.1SP1-KB2656353-x86-wrapper.log
For Microsoft .NET Framework 2.0 Service Pack 2:\ Microsoft .NET Framework 2.0-KB2604092_*-msi0.txt\ Microsoft .NET Framework 2.0-KB2604092_*.html
For Microsoft .NET Framework 3.0 Service Pack 2:\ Microsoft .NET Framework 3.0-KB2604110_*-msi0.txt\ Microsoft .NET Framework 3.0-KB2604110_*.html
For Microsoft .NET Framework 3.5 Service Pack 1:\ Microsoft .NET Framework 3.5-KB2604111_*-msi0.txt\ Microsoft .NET Framework 3.5-KB2604111_*.html
For Microsoft .NET Framework 4:\ KB2604121_**-Microsoft .NET Framework 4 Client Profile-MSP0.txt\ KB2604121*_*.html
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement  
Restart required? In some cases, this update does not require a restart. If the required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to restart.\ \ To help reduce the chance that a restart will be required, stop all affected services and close all applications that may use the affected files prior to installing the security update. For more information about the reasons why you may be prompted to restart, see Microsoft Knowledge Base Article 887012.
HotPatching This security update does not support HotPatching. For more information about HotPatching, see Microsoft Knowledge Base Article 897341.
Removal Information For all supported versions of Microsoft .NET Framework, use the Add or Remove Programs item in Control Panel.
File Information See Microsoft Knowledge Base Article 2693777
Registry Key Verification For Microsoft .NET Framework 1.1 Service Pack 1 on Windows Server 2003 SP2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP3\KB2604078\ \ For Microsoft .NET Framework 1.1 Service Pack 1 when installed on Windows Server 2003 x64 Edition Service Pack 2 and Windows Server 2003 Itanium-based Edition Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates.NETFramework\1.1\M2656353\ "Installed" = dword:1
For Microsoft .NET Framework 2.0 Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 2.0 Service Pack 2\SP2\KB2604092\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 3.0 Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 3.0 Service Pack 2\SP2\KB2604110\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 3.5 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 3.5 SP1\SP1\KB2604111\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on Windows Server 2003 SP2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on Windows Server 2003 x64 Edition Service Pack 2 and Windows Server 2003 Itanium-based Edition Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"

Note The update for supported versions of Windows Server 2003 x64 Edition also applies to supported versions of Windows XP Professional x64 Edition.

Deployment Information

Installing the Update

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

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

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Removing the Update

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Verifying that the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

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

  • File Version Verification

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

    1. Click Start, and then click Search.
    2. In the Search Results pane, click All files and folders under Search Companion.
    3. In the All or part of the file name box, type a file name from the appropriate file information table, and then click Search.
    4. In the list of files, right-click a file name from the appropriate file information table, and then click Properties.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    5. On the Version tab, determine the version of the file that is installed on your system by comparing it to the version that is documented in the appropriate file information table.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.
  • Registry Key Verification

    You may also be able to verify the files that this security update has installed by reviewing the registry keys listed in the Reference Table in this section.

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

Windows Vista (all editions)

Reference Table

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

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment  
Installing without user intervention For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported 32-bit editions of Windows Vista:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Vista:\ Windows6.0-KB2604094-x86.msu /quiet
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Vista:\ Windows6.0-KB2604105-x86.msu /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported 32-bit editions of Windows Vista:\ NDP35SP1-KB2604111-x86.exe /quiet
For Microsoft .NET Framework 4 when installed on all supported 32-bit editions of Windows Vista:\ NDP40-KB2604121-x86.exe /quiet
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported x64-based editions of Windows Vista:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported x64-based editions of Windows Vista:\ Windows6.0-KB2604094-x64.msu /quiet
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported x64-based editions of Windows Vista:\ Windows6.0-KB2604105-x64.msu /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported x64-based editions of Windows Vista:\ NDP35SP1-KB2604111-x64.exe /quiet
For Microsoft .NET Framework 4 when installed on all supported x64-based editions of Windows Vista:\ NDP40-KB2604121-x64.exe /quiet
Installing without restarting For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported 32-bit editions of Windows Vista:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Vista:\ Windows6.0-KB2604094-x86.msu /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Vista:\ Windows6.0-KB2604105-x86.msu /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported 32-bit editions of Windows Vista:\ NDP35SP1-KB2604111-x86.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported 32-bit editions of Windows Vista:\ NDP40-KB2604121-x86.exe /quiet /norestart
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported x64-based editions of Windows Vista:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported x64-based editions of Windows Vista:\ Windows6.0-KB2604094-x64.msu /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported x64-based editions of Windows Vista:\ Windows6.0-KB2604105-x64.msu /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported x64-based editions of Windows Vista:\ NDP35SP1-KB2604111-x64.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported x64-based editions of Windows Vista:\ NDP40-KB2604121-x64.exe /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement  
Restart required? This update does not require a restart. The installer stops the required services, applies the update, and then restarts the services. However, if the required services cannot be stopped for any reason, or if required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to restart.
HotPatching Not applicable.
Removal Information For all supported versions of Microsoft .NET Framework, use the Add or Remove Programs item in Control Panel.
File Information See Microsoft Knowledge Base Article 2693777
Registry Key Verification For Microsoft .NET Framework 1.1 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates.NETFramework\1.1\M2656353\ "Installed" = dword:1
For Microsoft .NET Framework 2.0 Service Pack 2:\ A registry key does not exist to validate the presence of this update.
For Microsoft .NET Framework 3.0 Service Pack 2:\ A registry key does not exist to validate the presence of this update.
For Microsoft .NET Framework 3.5 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 3.5 Service Pack 1\SP1\KB2604111\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on Windows Vista Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on Windows Vista x64 Edition Service Pack 2:\ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"

Deployment Information

Installing the Update

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

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

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

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

  • File Version Verification

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

    1. Click Start and then enter an update file name in the Start Search box.
    2. When the file appears under Programs, right-click the file name and click Properties.
    3. On the General tab, compare the file size with the file information tables provided in the bulletin KB article.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    4. You can also click the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.
    5. Finally, you can also click the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Windows Server 2008 (all editions)

Reference Table

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

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment  
Installing without user intervention For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2008:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2008:\ Windows6.0-KB2604094-x86.msu /quiet
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2008:\ Windows6.0-KB2604105-x86.msu /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2008:\ NDP35SP1-KB2604111-x86.exe /quiet
For Microsoft .NET Framework 4 when installed on all supported 32-bit editions of Windows Server 2008:\ NDP40-KB2604121-x86.exe /quiet
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2008:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2008:\ Windows6.0-KB2604094-x64.msu /quiet
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2008:\ Windows6.0-KB2604105-x64.msu /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2008:\ NDP35SP1-KB2604111-x64.exe /quiet
For Microsoft .NET Framework 4 when installed on all supported x64-based editions of Windows Server 2008:\ NDP40-KB2604121-x64.exe /quiet
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2008:\ NDP1.1sp1-KB2656353-X86.exe /quiet
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported Itanium-based editions of Windows Server 2008:\ Windows6.0-KB2604094-ia64.msu /quiet
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2008:\ NDP35SP1-KB2604111-IA64.exe /quiet
For Microsoft .NET Framework 4 when installed on all supported Itanium-based editions of Windows Server 2008:\ NDP40-KB2604121-IA64.exe /quiet
Installing without restarting For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2008:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2008:\ Windows6.0-KB2604094-x86.msu /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported 32-bit editions of Windows Server 2008:\ Windows6.0-KB2604105-x86.msu /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported 32-bit editions of Windows Server 2008:\ NDP35SP1-KB2604111-x86.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported 32-bit editions of Windows Server 2008:\ NDP40-KB2604121-x86.exe /quiet /norestart
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2008:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2008:\ Windows6.0-KB2604094-x64.msu /quiet /norestart
For Microsoft .NET Framework 3.0 Service Pack 2 when installed on all supported x64-based editions of Windows Server 2008:\ Windows6.0-KB2604105-x64.msu /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported x64-based editions of Windows Server 2008:\ NDP35SP1-KB2604111-x64.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported x64-based editions of Windows Server 2008:\ NDP40-KB2604121-x64.exe /quiet /norestart
For Microsoft .NET Framework 1.1 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2008:\ NDP1.1sp1-KB2656353-X86.exe /quiet /norestart
For Microsoft .NET Framework 2.0 Service Pack 2 when installed on all supported Itanium-based editions of Windows Server 2008:\ Windows6.0-KB2604094-ia64.msu /quiet /norestart
For Microsoft .NET Framework 3.5 Service Pack 1 when installed on all supported Itanium-based editions of Windows Server 2008:\ NDP35SP1-KB2604111-IA64.exe /quiet /norestart
For Microsoft .NET Framework 4 when installed on all supported Itanium-based editions of Windows Server 2008:\ NDP40-KB2604121-IA64.exe /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement  
Restart required? This update does not require a restart. The installer stops the required services, applies the update, and then restarts the services. However, if the required services cannot be stopped for any reason, or if required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to restart.
HotPatching Not applicable.
Removal Information For all supported versions of Microsoft .NET Framework, use the Add or Remove Programs item in Control Panel.
File Information See Microsoft Knowledge Base Article 2693777
Registry Key Verification For Microsoft .NET Framework 1.1 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates.NETFramework\1.1\M2656353\ "Installed" = dword:1
For Microsoft .NET Framework 2.0 Service Pack 2:\ A registry key does not exist to validate the presence of this update.
For Microsoft .NET Framework 3.0 Service Pack 2:\ A registry key does not exist to validate the presence of this update.
For Microsoft .NET Framework 3.5 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 3.5 Service Pack 1\SP1\KB2604111\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on all supported 32-bit editions of Windows Server 2008:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on all supported 64-bit editions of Windows Server 2008:\ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"

Deployment Information

Installing the Update

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

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

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

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

  • File Version Verification

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

    1. Click Start and then enter an update file name in the Start Search box.
    2. When the file appears under Programs, right-click the file name and click Properties.
    3. On the General tab, compare the file size with the file information tables provided in the bulletin KB article.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    4. You can also click the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.
    5. Finally, you can also click the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Windows 7 (all editions)

Reference Table

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

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment  
Installing without user intervention For Microsoft .NET Framework 3.5.1 on Windows 7 for 32-bit Systems:\ Windows6.1-KB2604114-x86.msu /quiet
For Microsoft .NET Framework 3.5.1 on Windows 7 for 32-bit Systems Service Pack 1:\ Windows6.1-KB2604115-x86.msu /quiet
For Microsoft .NET Framework 4 when installed on Windows 7 for 32-bit Systems and Windows 7 for 32-bit Systems Service Pack 1:\ NDP40-KB2604121-x86.exe /quiet
For Microsoft .NET Framework 3.5.1 on Windows 7 for x64-based Systems:\ Windows6.1-KB2604114-x64.msu /quiet
For Microsoft .NET Framework 3.5.1 on Windows 7 for x64-based Systems Service Pack 1:\ Windows6.1-KB2604115-x64.msu /quiet
Microsoft .NET Framework 4 when installed on Windows 7 for x64-based Systems and Windows 7 for x64-based Systems Service Pack 1:\ NDP40-KB2604121-x64.exe /quiet
Installing without restarting For Microsoft .NET Framework 3.5.1 on Windows 7 for 32-bit Systems:\ Windows6.1-KB2604114-x86.msu /quiet /norestart
For Microsoft .NET Framework 3.5.1 on Windows 7 for 32-bit Systems Service Pack 1:\ Windows6.1-KB2604115-x86.msu /quiet /norestart
For Microsoft .NET Framework 4 when installed on Windows 7 for 32-bit Systems and Windows 7 for 32-bit Systems Service Pack 1:\ NDP40-KB2604121-x86.exe /quiet /norestart
For Microsoft .NET Framework 3.5.1 on Windows 7 for x64-based Systems:\ Windows6.1-KB2604114-x64.msu /quiet /norestart
For Microsoft .NET Framework 3.5.1 on Windows 7 for x64-based Systems Service Pack 1:\ Windows6.1-KB2604115-x64.msu /quiet /norestart
Microsoft .NET Framework 4 when installed on Windows 7 for x64-based Systems and Windows 7 for x64-based Systems Service Pack 1:\ NDP40-KB2604121-x64.exe /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement  
Restart required? This update does not require a restart. The installer stops the required services, applies the update, and then restarts the services. However, if the required services cannot be stopped for any reason, or if required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to restart.
HotPatching Not applicable.
Removal Information For all supported versions of Microsoft .NET Framework, use the Add or Remove Programs item in Control Panel.
File Information See Microsoft Knowledge Base Article 2693777
Registry Key Verification For Microsoft .NET Framework 3.5.1:\ A registry key does not exist to validate the presence of this update.
For Microsoft .NET Framework 4 when installed on Windows 7 for 32-bit Systems and Windows 7 for 32-bit Systems Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"
For Microsoft .NET Framework 4 when installed on Windows 7 for x64-based Systems and Windows 7 for x64-based Systems Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"

Deployment Information

Installing the Update

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

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

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

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

  • File Version Verification

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

    1. Click Start and then enter an update file name in the Search box.
    2. When the file appears under Programs, right-click the file name and click Properties.
    3. On the General tab, compare the file size with the file information tables provided in the bulletin KB article.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    4. You can also click the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.
    5. Finally, you can also click the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Windows Server 2008 R2 (all editions)

Reference Table

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

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment  
Installing without user intervention For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems:\ Windows6.1-KB2604114-x64.msu /quiet
For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems Service Pack 1:\ Windows6.1-KB2604115-x64.msu /quiet
For Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for x64-based Systems and Windows Server 2008 R2 for x64-based Systems Service Pack 1:\ NDP40-KB2604121-x64.exe /quiet
For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for Itanium-based Systems:\ Windows6.1-KB2604114-ia64.msu /quiet
For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for Itanium-based Systems Service Pack 1:\ Windows6.1-KB2604115-ia64.msu /quiet
For Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for Itanium-based Systems and Windows Server 2008 R2 for Itanium-based Systems Service Pack 1:\ NDP40-KB2604121-IA64.exe /quiet
Installing without restarting For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems:\ Windows6.1-KB2604114-x64.msu /quiet /norestart
For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for x64-based Systems Service Pack 1:\ Windows6.1-KB2604115-x64.msu /quiet /norestart
For Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for x64-based Systems and Windows Server 2008 R2 for x64-based Systems Service Pack 1:\ NDP40-KB2604121-x64.exe /quiet /norestart
For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for Itanium-based Systems:\ Windows6.1-KB2604114-ia64.msu /quiet /norestart
For Microsoft .NET Framework 3.5.1 on Windows Server 2008 R2 for Itanium-based Systems Service Pack 1:\ Windows6.1-KB2604115-ia64.msu /quiet /norestart
For Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for Itanium-based Systems and Windows Server 2008 R2 for Itanium-based Systems Service Pack 1:\ NDP40-KB2604121-IA64.exe /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement  
Restart required? This update does not require a restart. The installer stops the required services, applies the update, and then restarts the services. However, if the required services cannot be stopped for any reason, or if required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to restart.
HotPatching Not applicable.
Removal Information For all supported versions of Microsoft .NET Framework, use the Add or Remove Programs item in Control Panel.
File Information See Microsoft Knowledge Base Article 2693777
Registry Key Verification For Microsoft .NET Framework 3.5.1:\ A registry key does not exist to validate the presence of this update.
For Microsoft .NET Framework 4 when installed on Windows Server 2008 R2 for x64-based Systems and Windows Server 2008 R2 for x64-based Systems Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2604121\ "ThisVersionInstalled" = "Y"

Deployment Information

Installing the Update

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

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

This security update supports the following setup switches.

Supported Security Update Installation Switches

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

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

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

  • File Version Verification

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

    1. Click Start and then enter an update file name in the Start Search box.
    2. When the file appears under Programs, right-click the file name and click Properties.
    3. On the General tab, compare the file size with the file information tables provided in the bulletin KB article.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    4. You can also click the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.
    5. Finally, you can also click the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Other Information

Acknowledgments

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

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 websites provided by program partners, listed in Microsoft Active Protections Program (MAPP) Partners.

Support

How to obtain help and support for this security update

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 (May 8, 2012): Bulletin published.
  • V2.0 (May 11, 2012): Added an entry to the update FAQ to communicate that security update KB2656353 addresses the vulnerabilities described in this bulletin for all supported systems running Microsoft .NET Framework 1.1 Service Pack 1, except when installed on Windows Server 2003 Service Pack 2. There were no changes to the security update files. Customers who have successfully installed the update do not need to take any action.
  • V2.1 (May 22, 2012): Added entry to the update FAQ to announce a detection change for KB2604092 for Microsoft .NET Framework 2.0 Service Pack 2 and KB2604110 for Microsoft .NET Framework 3.0 Service Pack 2 to correct an installation issue. This is a detection change only. There were no changes to the security update files. Customers who have already successfully updated their systems do not need to take any action.
  • V2.2 (July 10, 2012): Microsoft revised this bulletin to communicate a minor detection change for KB2604111 for Microsoft .NET Framework 3.5 Service Pack 1 to correct an offering issue. There were no changes to the security update files. Customers who have already successfully updated their systems do not need to take any action.
  • V2.3 (October 3, 2012): Corrected registry keys in the deployment tables for Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows XP and Microsoft .NET Framework 3.5 Service Pack 1 when installed on Windows Server 2003. This is an informational change only. There were no changes to the security update files or detection logic.

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