Microsoft Security Bulletin MS15-092 - Important

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

Published: August 11, 2015 | Updated: September 25, 2015

Version: 1.2

This security update resolves vulnerabilities in Microsoft .NET Framework. 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 4.6 on all supported releases of Microsoft Windows except Itanium editions. For more information, see the Affected Software section.

The security update addresses the vulnerabilities by correcting RyuJIT compiler optimization for .NET Framework. For more information about the vulnerabilities, see the Vulnerability Information section.

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

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.

Operating System

Component

Maximum Security Impact

Aggregate Severity Rating

Updates Replaced

Windows Vista

Windows Vista Service Pack 2

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows Vista x64 Edition Service Pack 2

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows Server 2008

Windows Server 2008 for 32-bit Systems Service Pack 2

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows Server 2008 for x64-based Systems Service Pack 2

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows 7

Windows 7 for 32-bit Systems Service Pack 1

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows 7 for x64-based Systems Service Pack 1

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows Server 2008 R2

Windows Server 2008 R2 for x64-based Systems Service Pack 1

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows 8 and Windows 8.1

Windows 8 for 32-bit Systems

Microsoft .NET Framework 4.6
(3083184)

Elevation of Privilege

Important

None

Windows 8 for x64-based Systems

Microsoft .NET Framework 4.6
(3083184)

Elevation of Privilege

Important

None

Windows 8.1 for 32-bit Systems

Microsoft .NET Framework 4.6
(3083185)

Elevation of Privilege

Important

None

Windows 8.1 for x64-based Systems

Microsoft .NET Framework 4.6
(3083185)

Elevation of Privilege

Important

None

Windows Server 2012 and Windows Server 2012 R2

Windows Server 2012

Microsoft .NET Framework 4.6
(3083184)

Elevation of Privilege

Important

None

Windows Server 2012 R2

Microsoft .NET Framework 4.6
(3083185)

Elevation of Privilege

Important

None

Windows RT and Windows RT 8.1

Windows RT[1]

Microsoft .NET Framework 4.6
(3083184)

Elevation of Privilege

Important

None

Windows RT 8.1[1]

Microsoft .NET Framework 4.6
(3083185)

Elevation of Privilege

Important

None

Windows 10

Windows 10 for 32-bit Systems[2]

Microsoft .NET Framework 4.6
(3081436)

Elevation of Privilege

Important

None

Windows 10 for x64-based Systems[2]

Microsoft .NET Framework 4.6
(3081436)

Elevation of Privilege

Important

None

Server Core installation option

Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)

Microsoft .NET Framework 4.6
(3083186)

Elevation of Privilege

Important

None

Windows Server 2012 (Server Core installation)

Microsoft .NET Framework 4.6
(3083184)

Elevation of Privilege

Important

None

Windows Server 2012 R2 (Server Core installation)

Microsoft .NET Framework 4.6
(3083185)

Elevation of Privilege

Important

None

[1]The security updates for Windows RT operating systems are available via Windows Update only.

[2]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. The update is available via the Windows Update Catalog only. See Microsoft Knowledge Base Article 3081436 for more information and download links.

Note Updates are also available for Microsoft .NET Framework 4.6 RC, which are available via the Microsoft Download Center and Windows Update.

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.

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

Vulnerability Severity Rating and Maximum Security Impact by Affected Software

Affected Software

RyuJIT Optimization Elevation of Privilege Vulnerability - CVE-2015-2479

RyuJIT Optimization Elevation of Privilege Vulnerability - CVE-2015-2480

RyuJIT Optimization Elevation of Privilege Vulnerability - CVE-2015-2481

Aggregate Severity Rating

Microsoft .NET Framework 4.6

Microsoft .NET Framework 4.6 when installed on Windows Vista Service Pack 2

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows Vista x64 Edition Service Pack 2

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

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

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

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

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

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

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

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

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

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

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows 8 for 32-bit Systems

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows 8 for x64-based Systems

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows 8.1 for 32-bit Systems

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows 8.1 for x64-based Systems

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Microsoft .NET Framework 4.6 when installed on Windows Server 2012

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows Server 2012 (Server Core installation)

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows Server 2012 R2

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows Server 2012 R2 (Server Core installation)

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows RT

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows RT 8.1

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows 10 for 32-bit Systems

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Microsoft .NET Framework 4.6 when installed on Windows 10 for x64-based Systems

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important 
Elevation of Privilege

Important

Multiple RyuJIT Optimization Elevation of Privilege Vulnerabilities

Elevation of privilege vulnerabilities exist in Microsoft .NET Framework when the RyuJIT compiler improperly optimizes certain parameters resulting in a code generation error. 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 exploit these vulnerabilities, an attacker would need to host a specially crafted .NET application and convince users to run the 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. The security update addresses the vulnerabilities by correcting RyuJIT compiler optimization for .NET Framework.

The following tables contain links to the standard entry for each vulnerability in the Common Vulnerabilities and Exposures list:

Vulnerability Title

CVE Number

Publicly Disclosed

Exploited

RyuJIT Optimization Elevation of Privilege Vulnerability

CVE-2015-2479

No

No

RyuJIT Optimization Elevation of Privilege Vulnerability

CVE-2015-2480

No

No

RyuJIT Optimization Elevation of Privilege Vulnerability

CVE-2015-2481

No

No

Mitigating Factors

Microsoft has not identified any mitigating factors for these vulnerabilities.

Workarounds

The following workarounds might be helpful in your situation:

  • Disable RyuJIT

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

    1. Create a text file named RyuJIT-disable.reg that contains the following text:
      Windows Registry Editor Version 5.00
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
      "useLegacyJit"=dword:00000001
      
    2. Run regedit.exe.
    3. In Registry Editor, click File and then click Import.
    4. Navigate to and select the RyuJIT-disable.reg file that you created in the first step.

      (Note: If your file is not listed where you expect it to be, ensure that it has not been automatically given a .txt file extension, or change the dialog’s file extension parameters to All Files).

    5. Click Open and then click OK.
    6. Close Registry Editor and restart the system.

     

    Impact of workaround. The legacy JIT compiler will be invoked in lieu of the RyuJIT compiler.

    How to undo the workaround. 

    1. Create a text file named RyuJIT-enable.reg that contains the following text:
      Windows Registry Editor Version 5.00
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
      "useLegacyJit"=dword:00000000
      
    2. Run regedit.exe.
    3. In Registry Editor, click File and then click Import.
    4. Navigate to and select the RyuJIT-enable.reg file that you created in the first step.

      (Note: If your file is not listed where you expect it to be, ensure that it has not been automatically given a .txt file extension, or change the dialog’s file extension parameters to All Files).

    5. Click Open and then click OK.
    6. Close Registry Editor and restart the system.

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 (August 11, 2015): Bulletin published.
  • V1.1 (August 24, 2015): Updated bulletin to inform customers that on August 18, 2015, a metadata change was implemented on Windows Update for the updates documented in this bulletin. This is an informational change only. There were no changes to the update files. Customers who have already successfully updated their systems do not need to take any action.
  • V1.2 (September 25, 2015): Added a footnote to the Affected Software table to inform customers that Windows Server Technical Preview 2 is affected. Customers running this operating system are encouraged to apply the update, which is available via Windows Update.
Page generated 2015-09-25 10:10-07:00.
Show: