Microsoft Security Bulletin MS15-092 - Important
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 |
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 |
Microsoft has not identified any mitigating factors for these vulnerabilities.
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.
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
Run regedit.exe.
In Registry Editor, click File and then click Import.
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).Click Open and then click OK.
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.
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
Run regedit.exe.
In Registry Editor, click File and then click Import.
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).Click Open and then click OK.
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.