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

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.

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.

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.

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

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

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

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.

  • 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.
Show: