Microsoft Security Bulletin MS12-074 - Critical

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

Published: | Updated:

Version: 1.1

General Information

Executive Summary

This security update resolves five privately reported vulnerabilities in the .NET Framework. The most severe of these vulnerabilities could allow remote code execution if an attacker convinces the user of a target system to use a malicious proxy auto configuration file and then injects code into the currently running application.

This security update is rated Critical for Microsoft .NET Framework 2.0 Service Pack 2, Microsoft .NET Framework 3.5, Microsoft .NET Framework 3.5.1, Microsoft .NET Framework 4, and Microsoft .NET Framework 4.5. It is rated Important for Microsoft .NET Framework 1.0 Service Pack 3 and Microsoft .NET Framework 1.1 Service Pack 1. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerabilities by updating how the .NET Framework sanitizes output based on the trust level of the calling code, validates the permissions of objects performing reflection, loads external libraries, and optimizes code in memory. It also addresses the vulnerability by updating Microsoft.Jscript within System.Net and restricting how the .NET Framework executes JavaScript contained within a WPAD configuration file. The update also changes the way WPAD is handled by using WinHTTP instead of Microsoft.Jscript. 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. Most 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, see Microsoft Support Lifecycle.

Affected Software

Operating SystemComponentMaximum Security ImpactAggregate Severity RatingUpdates Replaced
Windows XP
Windows XP Service Pack 3Microsoft .NET Framework 1.0 Service Pack 3
(KB2698035)
(Media Center Edition 2005 Service Pack 3 and Tablet PC Edition 2005 Service Pack 3 only)

Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2572066 in MS11-078 replaced by KB2698035
 
KB2656353 in MS11-100 replaced by KB2698023
Windows XP Service Pack 3Microsoft .NET Framework 2.0 Service Pack 2
(KB2729450)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633880 in MS12-016 and KB2572073 in MS11-078 replaced by KB2729450
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows XP Service Pack 3Microsoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows XP Professional x64 Edition Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows XP Professional x64 Edition Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729450)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633880 in MS12-016 and KB2572073 in MS11-078 replaced by KB2729450
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows XP Professional x64 Edition Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows Server 2003
Windows Server 2003 Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698032)
Remote Code ExecutionImportantKB2572069 in MS11-078 replace by KB2698032
Windows Server 2003 Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729450)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633880 in MS12-016 and KB2572073 in MS11-078 replaced by KB2729450
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2003 Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows Server 2003 x64 Edition Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows Server 2003 x64 Edition Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729450)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633880 in MS12-016 and KB2572073 in MS11-078 replaced by KB2729450
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2003 x64 Edition Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows Server 2003 with SP2 for Itanium-based SystemsMicrosoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows Server 2003 with SP2 for Itanium-based SystemsMicrosoft .NET Framework 2.0 Service Pack 2
(KB2729450)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633880 in MS12-016 and KB2572073 in MS11-078 replaced by KB2729450
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2003 with SP2 for Itanium-based SystemsMicrosoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows Vista
Windows Vista Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows Vista Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729453)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633874 in MS12-016 and KB2572075 in MS11-078 replaced by KB2729453
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
 
No updates replaced by KB2729460
Windows Vista Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
 
No updates replaced by KB2737083
Windows Vista x64 Edition Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows Vista x64 Edition Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729453)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633874 in MS12-016 and KB2572075 in MS11-078 replaced by KB2729453
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
 
No updates replaced by KB2729460
Windows Vista x64 Edition Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019

No updates replaced by KB2737083
Windows Server 2008
Windows Server 2008 for 32-bit Systems Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows Server 2008 for 32-bit Systems Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729453)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633874 in MS12-016 and KB2572075 in MS11-078 replaced by KB2729453
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
 
No updates replaced by KB2729460
Windows Server 2008 for 32-bit Systems Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
 
No updates replaced by KB2737083
Windows Server 2008 for x64-based Systems Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows Server 2008 for x64-based Systems Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729453)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633874 in MS12-016 and KB2572075 in MS11-078 replaced by KB2729453
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
 
No updates replaced by KB2729460
Windows Server 2008 for x64-based Systems Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
 
No updates replaced by KB2737083
Windows Server 2008 for Itanium-based Systems Service Pack 2Microsoft .NET Framework 1.1 Service Pack 1
(KB2698023)
Remote Code ExecutionImportantKB2656353 in MS11-100 replaced by KB2698023
Windows Server 2008 for Itanium-based Systems Service Pack 2Microsoft .NET Framework 2.0 Service Pack 2
(KB2729453)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633874 in MS12-016 and KB2572075 in MS11-078 replaced by KB2729453
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2008 for Itanium-based Systems Service Pack 2Microsoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows 7
Windows 7 for 32-bit SystemsMicrosoft .NET Framework 3.5.1
(KB2729451)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633879 in MS12-016 and KB2572076 in MS11-078 replaced by KB2729451
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows 7 for 32-bit SystemsMicrosoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows 7 for 32-bit Systems Service Pack 1Microsoft .NET Framework 3.5.1
(KB2729452)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633873 in MS12-016 and KB2572077 in MS11-078 replaced by KB2729452
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
 
No updates replaced by KB2729460
Windows 7 for 32-bit Systems Service Pack 1Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
 
No updates replaced by KB2737083
Windows 7 for x64-based SystemsMicrosoft .NET Framework 3.5.1
(KB2729451)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633879 in MS12-016 and KB2572076 in MS11-078 replaced by KB2729451
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows 7 for x64-based SystemsMicrosoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows 7 for x64-based Systems Service Pack 1Microsoft .NET Framework 3.5.1
(KB2729452)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633873 in MS12-016 and KB2572077 in MS11-078 replaced by KB2729452
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
 
No updates replaced by KB2729460
Windows 7 for x64-based Systems Service Pack 1Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
 
No updates replaced by KB2737083
Windows Server 2008 R2
Windows Server 2008 R2 for x64-based SystemsMicrosoft .NET Framework 3.5.1
(KB2729451)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633879 in MS12-016 and KB2572076 in MS11-078 replaced by KB2729451
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2008 R2 for x64-based SystemsMicrosoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows Server 2008 R2 for x64-based Systems Service Pack 1Microsoft .NET Framework 3.5.1
(KB2729452)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633873 in MS12-016 and KB2572077 in MS11-078 replaced by KB2729452
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
 
No updates replaced by KB2729460
Windows Server 2008 R2 for x64-based Systems Service Pack 1Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
 
No updates replaced by KB2737083
Windows Server 2008 R2 for Itanium-based SystemsMicrosoft .NET Framework 3.5.1
(KB2729451)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633879 in MS12-016 and KB2572076 in MS11-078 replaced by KB2729451
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2008 R2 for Itanium-based SystemsMicrosoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1Microsoft .NET Framework 3.5.1
(KB2729452)

Microsoft .NET Framework 4[1]
(KB2729449)
Remote Code ExecutionCriticalKB2633873 in MS12-016 and KB2572077 in MS11-078 replaced by KB2729452
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1Microsoft .NET Framework 4[1]
(KB2737019)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
Windows 8
Windows 8 for 32-bit SystemsMicrosoft .NET Framework 3.5
(KB2729462)
Remote Code ExecutionCriticalNone
Windows 8 for 32-bit SystemsMicrosoft .NET Framework 4.5
(KB2737084)
Elevation of PrivilegeImportantNone
Windows 8 for 32-bit SystemsMicrosoft .NET Framework 4.5[2]
(KB2756872)
Defense in depthNo severity ratingNone
Windows 8 for 64-bit SystemsMicrosoft .NET Framework 3.5
(KB2729462)
Remote Code ExecutionCriticalNone
Windows 8 for 64-bit SystemsMicrosoft .NET Framework 4.5
(KB2737084)
Elevation of PrivilegeImportantNone
Windows 8 for 64-bit SystemsMicrosoft .NET Framework 4.5[2]
(KB2756872)
Defense in depthNo severity ratingNone
Windows Server 2012
Windows Server 2012Microsoft .NET Framework 3.5
(KB2729462)
Remote Code ExecutionCriticalNone
Windows Server 2012Microsoft .NET Framework 4.5
(KB2737084)
Elevation of PrivilegeImportantNone
Windows Server 2012Microsoft .NET Framework 4.5[2]
(KB2756872)
Defense in depthNo severity ratingNone
Windows RT
Windows RTMicrosoft .NET Framework 4.5[3]
(KB2737084)
Elevation of PrivilegeImportantNone
Windows RTMicrosoft .NET Framework 4.5[2][3]
(KB2756872)
Defense in depthNo severity ratingNone
Server Core installation option
Windows Server 2008 R2 for x64-based Systems (Server Core installation)Microsoft .NET Framework 3.5.1
(KB2729451)
Remote Code ExecutionCriticalKB2633879 in MS12-016 and KB2572076 in MS11-078 replaced by KB2729451
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)Microsoft .NET Framework 3.5.1
(KB2729452)

Microsoft .NET Framework 4[1]
(KB2729449)

Microsoft .NET Framework 4.5
(KB2729460)
Remote Code ExecutionCriticalKB2633873 in MS12-016 and KB2572077 in MS11-078 replaced by KB2729452
 
KB2633870 in MS12-016 and KB2572078 in MS11-078 replaced by KB2729449
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)Microsoft .NET Framework 4[1]
(KB2737019)

Microsoft .NET Framework 4.5
(KB2737083)
Elevation of PrivilegeImportantKB2656405 in MS12-034 replaced by KB2737019
 
No updates replaced by KB2737083
Windows Server 2012 (Server Core installation)Microsoft .NET Framework 3.5
(KB2729462)
Remote Code ExecutionCriticalNone
Windows Server 2012 (Server Core installation)Microsoft .NET Framework 4.5
(KB2737084)
Elevation of PrivilegeImportantNone
Windows Server 2012 (Server Core installation) Microsoft .NET Framework 4.5[2]
(KB2756872)
Defense in depthNo severity ratingNone

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

[2]Customers running Microsoft .NET Framework 4.5 on Windows 8, Windows Server 2012, and Windows RT are not affected by this issue. The Windows 8 Client and Windows Server 2012 General Availability Cumulative Update (KB2756872) that was released on October 10, 2012 contains additional defense-in-depth changes. Customers who have not already installed this update are encouraged to do so as a defense-in-depth measure. See the More Information section in Microsoft Knowledge Base Article 2745030 for more detail. For download links and further information, see Microsoft Knowledge Base Article 2756872. Note that this update contains non-security related content.

[3]Windows RT security updates are provided via Windows Update only.

 

Non-Affected Software

Software
Microsoft .NET Framework 3.0 Service Pack 2
Microsoft .NET Framework 3.5 Service Pack 1

Frequently Asked Questions (FAQ) Related to This Security Update

Vulnerability Information

Severity Ratings and Vulnerability Identifiers

Reflection Bypass Vulnerability - CVE-2012-1895

Code Access Security Info Disclosure Vulnerability - CVE-2012-1896

.NET Framework Insecure Library Loading Vulnerability - CVE-2012-2519

Web Proxy Auto-Discovery Vulnerability - CVE-2012-4776

WPF Reflection Optimization Vulnerability - CVE-2012-4777

Update Information

Detection and Deployment Tools and Guidance

Security Update Deployment

Other Information

Acknowledgments

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

  • James Forshaw of Context Information Security for reporting the Reflection Bypass Vulnerability (CVE-2012-1895)
  • James Forshaw of Context Information Security for reporting the Code Access Security Info Disclosure Vulnerability (CVE-2012-1896)
  • James Forshaw of Context Information Security for reporting the Web Proxy Auto-Discovery Vulnerability (CVE-2012-4776)
  • James Forshaw of Context Information Security for reporting the WPF reflection optimization vulnerability (CVE-2012-4777)

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 go to 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 (November 13, 2012): Bulletin published.
  • V1.1 (November 14, 2012): Corrected the aggregate severity rating for Microsoft .NET Framework 4.5 on Windows Server 2012 (Server Core installation) in the Severity table. This is a bulletin change only. The severity rating for this configuration remains unchanged.