Microsoft Security Bulletin MS15-101 - Important

Vulnerabilities in .NET Framework Could Allow Elevation of Privilege (3089662)

Published: September 8, 2015 | Updated: February 9, 2016

Version: 1.2

Executive Summary

This security update resolves vulnerabilities in Microsoft .NET Framework. The most severe of the vulnerabilities could allow elevation of privilege if a user runs a specially crafted .NET application. However, in all cases, an attacker would have no way to force users to run the application; an attacker would have to convince users to do so.

This security update is rated Important for Microsoft .NET Framework 2.0 Service Pack 2, Microsoft .NET Framework 3.5, Microsoft .NET Framework 3.5.1, Microsoft .NET Framework 4, Microsoft .NET Framework 4.5, Microsoft .NET Framework 4.5.1, and Microsoft .NET Framework 4.5.2 on affected releases of Microsoft Windows. For more information, see the Affected Software section.

The security updates address the vulnerabilities by correcting how the .NET Framework copies objects in memory and by correcting how the .NET Framework handles specially crafted requests. For more information about the vulnerability, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability.

For more information about this update, see Microsoft Knowledge Base Article 3089662.

Affected Software and Vulnerability Severity Ratings

The following software versions or editions are affected. Versions or editions that are not listed 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.

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 September bulletin summary.

Operating System Component .NET Elevation of Privilege Vulnerability - CVE-2015-2504 MVC Denial of Service Vulnerability - CVE-2015-2526 Updates Replaced
Windows Vista
Windows Vista Service Pack 2 Microsoft .NET Framework 2.0 Service Pack 2 Important Elevation of Privilege (3074541) Not applicable 3074541 - 2656374 in MS12-025
Windows Vista Service Pack 2 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows Vista Service Pack 2 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows Vista Service Pack 2 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows Vista x64 Edition Service Pack 2 Microsoft .NET Framework 2.0 Service Pack 2 Important Elevation of Privilege (3074541) Not applicable 3074541 - 2656374 in MS12-025
Windows Vista x64 Edition Service Pack 2 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows Vista x64 Edition Service Pack 2 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows Vista x64 Edition Service Pack 2 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows Server 2008
Windows Server 2008 for 32-bit Systems Service Pack 2 Microsoft .NET Framework 2.0 Service Pack 2 Important Elevation of Privilege (3074541) Not applicable 3074541 - 2656374 in MS12-025
Windows Server 2008 for 32-bit Systems Service Pack 2 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows Server 2008 for 32-bit Systems Service Pack 2 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows Server 2008 for 32-bit Systems Service Pack 2 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows Server 2008 for x64-based Systems Service Pack 2 Microsoft .NET Framework 2.0 Service Pack 2 Important Elevation of Privilege (3074541) Not applicable 3074541 - 2656374 in MS12-025
Windows Server 2008 for x64-based Systems Service Pack 2 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows Server 2008 for x64-based Systems Service Pack 2 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows Server 2008 for x64-based Systems Service Pack 2 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows Server 2008 for Itanium-based Systems Service Pack 2 Microsoft .NET Framework 2.0 Service Pack 2 Important Elevation of Privilege (3074541) Not applicable 3074541 - 2656374 in MS12-025
Windows Server 2008 for Itanium-based Systems Service Pack 2 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows 7
Windows 7 for 32-bit Systems Service Pack 1 Microsoft .NET Framework 3.5.1 Important Elevation of Privilege (3074543) Not applicable 3074543 - 2656373 in MS12-025
Windows 7 for 32-bit Systems Service Pack 1 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows 7 for 32-bit Systems Service Pack 1 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows 7 for 32-bit Systems Service Pack 1 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows 7 for x64-based Systems Service Pack 1 Microsoft .NET Framework 3.5.1 Important Elevation of Privilege (3074543) Not applicable 3074543 - 2656373 in MS12-025
Windows 7 for x64-based Systems Service Pack 1 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows 7 for x64-based Systems Service Pack 1 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows 7 for x64-based Systems Service Pack 1 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows Server 2008 R2
Windows Server 2008 R2 for x64-based Systems Service Pack 1 Microsoft .NET Framework 3.5.1 Important Elevation of Privilege (3074543) Not applicable 3074543 - 2656373 in MS12-025
Windows Server 2008 R2 for x64-based Systems Service Pack 1 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows Server 2008 R2 for x64-based Systems Service Pack 1 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows Server 2008 R2 for x64-based Systems Service Pack 1 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 Microsoft .NET Framework 3.5.1 Important Elevation of Privilege (3074543) Not applicable 3074543 - 2656373 in MS12-025
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows 8 and Windows 8.1
Windows 8 for 32-bit Systems Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074544) Not applicable 3074544 - None
Windows 8 for 32-bit Systems Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074229) Important Denial of Service (3074549) 3074229 - None 3074549 - None
Windows 8 for 32-bit Systems Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074552) Important Denial of Service (3074231) 3074552 - None 3074231 - None
Windows 8 for x64-based Systems Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074544) Not applicable 3074544 - None
Windows 8 for x64-based Systems Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074229) Important Denial of Service (3074549) 3074229 - None 3074549 - None
Windows 8 for x64-based Systems Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074552) Important Denial of Service (3074231) 3074552 - None 3074231 - None
Windows 8.1 for 32-bit Systems Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074545) Not applicable 3074545 - None
Windows 8.1 for 32-bit Systems Microsoft .NET Framework 4.5.1/4.5.2 Important Elevation of Privilege (3074548) Important Denial of Service (3074228) 3074548 - None 3074228 - None
Windows 8.1 for 32-bit Systems Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074553) Important Denial of Service (3074232) 3074553 - None 3074232 - None
Windows 8.1 for x64-based Systems Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074545) Not applicable 3074545 - None
Windows 8.1 for x64-based Systems Microsoft .NET Framework 4.5.1/4.5.2 Important Elevation of Privilege (3074548) Important Denial of Service (3074228) 3074548 - None 3074228 - None
Windows 8.1 for x64-based Systems Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074553) Important Denial of Service (3074232) 3074553 - None 3074232 - None
Windows Server 2012 and Windows Server 2012 R2
Windows Server 2012 Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074544) Not applicable 3074544 - None
Windows Server 2012 Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074229) Important Denial of Service (3074549) 3074229 - None 3074549 - None
Windows Server 2012 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074552) Important Denial of Service (3074231) 3074552 - None 3074231 - None
Windows Server 2012 R2 Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074545) Not applicable 3074545 - None
Windows Server 2012 R2 Microsoft .NET Framework 4.5.1/4.5.2 Important Elevation of Privilege (3074548) Important Denial of Service (3074228) 3074548 - None 3074228 - None
Windows Server 2012 R2 Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074553) Important Denial of Service (3074232) 3074553 - None 3074232 - None
Windows RT and Windows RT 8.1
Windows RT Microsoft .NET Framework 4.5/4.5.1/4.5.2[2] Important Elevation of Privilege (3074229) Important Denial of Service (3074549) 3074229 - None 3074549 - None
Windows RT Microsoft .NET Framework 4.6[2] Important Elevation of Privilege (3074552) Important Denial of Service (3074231) 3074552 - None 3074231 - None
Windows RT 8.1 Microsoft .NET Framework 4.5.1/4.5.2[2] Important Elevation of Privilege (3074548) Important Denial of Service (3074228) 3074548 - None 3074228 - None
Windows RT 8.1 Microsoft .NET Framework 4.6[2] Important Elevation of Privilege (3074553) Important Denial of Service (3074232) 3074553 - None 3074232 - None
Windows 10
Windows 10 for 32-bit Systems[3] Microsoft .NET Framework 3.5 Important Elevation of Privilege (3081455) Not applicable 3081444
Windows 10 for 32-bit Systems[3] Microsoft .NET Framework 4.6 Important Elevation of Privilege (3081455) Important Denial of Service (3081455) 3081444
Windows 10 for x64-based Systems[3] Microsoft .NET Framework 3.5 Important Elevation of Privilege (3081455) Not applicable 3081444
Windows 10 for x64-based Systems[3] Microsoft .NET Framework 4.6 Important Elevation of Privilege (3081455) Important Denial of Service (3081455) 3081444
Server Core installation option
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) Microsoft .NET Framework 3.5.1 Important Elevation of Privilege (3074543) Not applicable 3074543 - 2656373 in MS12-025
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) Microsoft .NET Framework 4[1] Important Elevation of Privilege (3074547) Not applicable 3074547 - 2656368 in MS12-025
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074550) Important Denial of Service (3074230) 3074550 - None 3074230 - None
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074554) Important Denial of Service (3074233) 3074554 - None 3074233 - None
Windows Server 2012 (Server Core installation) Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074544) Not applicable 3074544 - None
Windows Server 2012 (Server Core installation) Microsoft .NET Framework 4.5/4.5.1/4.5.2 Important Elevation of Privilege (3074229) Important Denial of Service (3074549) 3074229 - None 3074549 - None
Windows Server 2012 (Server Core installation) Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074552) Important Denial of Service (3074231) 3074552 - None 3074231 - None
Windows Server 2012 R2 (Server Core installation) Microsoft .NET Framework 3.5 Important Elevation of Privilege (3074545) Not applicable 3074545 - None
Windows Server 2012 R2 (Server Core installation) Microsoft .NET Framework 4.5.1/4.5.2 Important Elevation of Privilege (3074548) Important Denial of Service (3074228) 3074548 - None 3074228 - None
Windows Server 2012 R2 (Server Core installation) Microsoft .NET Framework 4.6 Important Elevation of Privilege (3074553) Important Denial of Service (3074232) 3074553 - None 3074232 - None

[1].NET Framework 4 and .NET Framework 4 Client Profile affected.

[2]This update is available via Windows Update only.

[3]The Windows 10 update is cumulative. In addition to containing non-security updates, it also contains all of the security fixes for all of the Windows 10-affected vulnerabilities shipping with this month’s security release. See Microsoft Knowledge Base Article 3081455 for more information and download links.

Note Windows Server Technical Preview 2 is affected. Customers running this operating system are encouraged to apply the update, which is available via Windows Update.

Update FAQ

How do I determine which version of Microsoft .NET Framework is installed?
You can install and run multiple versions of .NET Framework on a system, and you can install the versions in any order. 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

There are multiple update packages available for some of the affected software. Do I need to install all the updates listed in the Affected Software table for the software?
Yes. Customers should apply all updates offered for the software installed on their systems.

Do I need to install these security updates in a particular sequence?
No. Multiple updates for a given system can be applied in any sequence.

Vulnerability Information

.NET Elevation of Privilege Vulnerability - CVE-2015-2504

An elevation of privilege vulnerability exists in the way that the .NET Framework validates the number of objects in memory before copying those objects into an array. An attacker who successfully exploited this vulnerability could take 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.

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. 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 instant messenger or email 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 Framework applications to bypass Code Access Security (CAS) restrictions.

There are two types of systems at risk, which are described as follows:

  • Web browsing scenario Successful exploitation of this vulnerability requires a user to be logged on and 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 Framework applications are also at risk from this vulnerability.

The update addresses the vulnerability by correcting how the .NET Framework copies objects in memory. This vulnerability has been publicly disclosed. It has been assigned Common Vulnerability and Exposure number CVE-2015-2504. When this bulletin was originally released, Microsoft was not aware of any attacks that attempt to exploit this vulnerability.

Mitigating Factors

Microsoft has not identified any mitigating factors for this vulnerability.

Workarounds

Microsoft has not identified any workarounds for this vulnerability.

MVC Denial of Service Vulnerability - CVE-2015-2526

A denial of service vulnerability exists that is caused when .NET fails to properly handle certain specially crafted requests. An attacker who successfully exploited this vulnerability could send a small number of specially crafted requests to an ASP.NET server, causing performance to degrade significantly enough to cause a denial of service condition.

An attacker could use this vulnerability to create a denial of service attack and disrupt the availability of sites that use ASP.NET. Internet-facing systems with ASP.NET installed are primarily at risk from this vulnerability. Internal websites that use ASP.NET can also be at risk from this vulnerability. The update addresses the vulnerability by correcting how the .NET Framework handles specially crafted requests.

Microsoft received information about this vulnerability through coordinated vulnerability disclosure. When this security bulletin was issued, Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers.

Mitigating Factors

Microsoft has not identified any mitigating factors for this vulnerability.

Workarounds

Microsoft has not identified any workarounds for this vulnerability.

Security Update Deployment

For Security Update Deployment information see the Microsoft Knowledge Base article referenced in the Executive Summary.

Acknowledgments

Microsoft recognizes the efforts of those in the security community who help us protect customers through coordinated vulnerability disclosure. See Acknowledgments for more information.  

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 (September 8, 2015): Bulletin published.
  • V1.1 (September 25, 2015): Removed Windows Server Technical Preview 3 from the Affected Software table footnote because it is not affected by the vulnerabilities described in this security bulletin. This is an informational change only. Customers who have already successfully updated their systems do not need to take any action.
  • V1.2 (February 9, 2016): Revised bulletin to announce a detection change for the 3074554 update for .NET Framework 4.6. This is an informational change only. Customers who have already successfully updated their systems do not need to take any action.

Page generated 2016-02-04 11:08-08:00.