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

Executive Summary

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.

Affected Software

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.

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.

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

Vulnerability Information

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.

Security Update Deployment

For Security Update Deployment information, see the Microsoft Knowledge Base article referenced here 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 (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.