ADV180018 — Microsoft Guidance to mitigate L1TF variant
Executive Summary
On January 3, 2018, Microsoft released an advisory and security updates for a new class of hardware vulnerabilities involving speculative execution side channels (known as Spectre and Meltdown). Microsoft is aware of a new speculative execution side channel vulnerability known as L1 Terminal Fault (L1TF) which has been assigned multiple CVEs as noted in the following table. This vulnerability affects Intel® Core® processors and Intel® Xeon® processors. For more information, see Intel’s advisory at: https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00161.html . An attacker who has successfully exploited L1TF may be able to read privileged data across trust boundaries. In shared resource environments (such that exist in some cloud services configurations), this vulnerability could allow one virtual machine to improperly access information from another. An attacker would need prior access to the system or the ability to run code on the system to leverage this vulnerability. For a technical description of L1TF please see our Security Research and Defense (SRD) blog . Microsoft has released several updates to help mitigate this vulnerability. To get all available protections, firmware (microcode) and software updates are required. We have also taken action to secure our cloud services. See the Microsoft cloud customers section for more details. Microsoft has not received any information to indicate that this vulnerability has been used to attack customers at this time. Microsoft continues to work closely with industry partners, including chip makers, hardware OEMs, and app vendors to protect customers from the speculative execution class of hardware vulnerabilities. The best protection is to keep your computers up to date. You can do this by taking advantage of automatic updates. Learn how to turn on automatic updates here . Enterprise customers should: Review this advisory in detail for guidance by product or service and register for the security notifications mailer to be alerted of content changes to this advisory. See Microsoft Technical Security Notifications . Inventory the processors in use across the enterprise to determine risk exposure and help inform the required protections for L1TF. Inventory the use of Virtualization Based Security (VBS) across the enterprise and especially in client systems to help inform the required protections. Evaluate the risk posed by L1TF to enterprise environments. In general terms, any system that was deemed to need protection for CVE-2017-5715 (Spectre Variant 2, Branch Target Injection) would need protection for L1TF. Verify the status of protection for CVE-2018-3620 using the PowerShell script Get-SpeculationControlSettings. For more information and to obtain the PowerShell script see Understanding Get-SpeculationControlSettings PowerShell script output . In testing, Microsoft has seen some performance impact with these mitigations depending on the configuration of the system and what mitigations are needed. For most consumer devices, we have not observed a noticeable performance impact after applying the updates. Customers that use Virtualization Based Security (VBS) or versions of Hyper-V prior to Windows Server 2016 may need to disable Hyper-Threading to fully address the risk from L1 Terminal Fault (L1TF), resulting in performance degradation. Performance impact will vary by hardware and the workloads running on the system. As the most common device and server configuration is to have Hyper-Threading enabled, the performance impact will depend on whether the user or administrator takes the action to disable Hyper-Threading on the system. As noted earlier, Windows Server 2016 provides an option to enable the Hyper-V Core Scheduler which mitigates the L1TF attack vector while allowing Hyper-Threading to remain enabled, resulting in a minimal performance impact. Windows Server 2019 uses the Core Scheduler by default. For information on performance impact by Intel, please see: www.intel.com/securityfirst . Speculative execution side-channel vulnerabilities such as L1 Terminal Fault (L1TF) can be used to read the content of memory across a trusted boundary and if exploited, can lead to information disclosure. There are multiple vectors by which an attacker could trigger the vulnerabilities depending on the configured environment. For a detailed view of affected scenarios and Microsoft’s approach to mitigating L1TF please see our Security Research and Defense (SRD) blog . The following table summarizes the potential relevance of L1TF to various attack scenarios and the applicable CVE: Microsoft has deployed mitigations across our cloud services which reinforce the isolation between customers. Customers who host untrusted code inside their applications should see Guidance for mitigating speculative execution side-channel vulnerabilities in Azure . Azure Stack customers should see Guidance for mitigating L1 Terminal Fault in Azure Stack . Customers using Windows client operating systems on systems with affected Intel processors may need to apply both firmware (Microcode) and software updates, depending on how the system is configured. However, most devices running Windows client operating systems will only need Windows software updates for protection. We have not observed performance degradation from these changes. The following table outlines the requirements for full protection for each CVE: * Protection for CVE-2018-3620 builds on the mitigation for CVE-2017-5754 (Meltdown). When the mitigation for CVE-2017-5754 is enabled, Windows automatically enables protection for CVE-2018-3620. The mitigation for CVE-2017-5754 (Meltdown) is enabled by default on Windows client. Customers that have disabled the protection for CVE-2017-5754 must re-enable it to gain protection for CVE-2018-3620. (See FAQ#2 ) ** The required microcode is the same microcode that addresses CVE-2018-3639 and CVE-2018-3640. Microsoft is making available Intel-validated microcode updates for Windows 10 operating systems. Please see Microsoft Knowledge Base Article 4093836 for the current Intel microcode updates. Customers using Hyper-V or features that rely on Virtualization Based Security (VBS) may need to take additional action to be fully protected: Windows Virtualization Based Security (VBS) is foundational to Windows 10 security. All VBS features including Hypervisor-enforced Code Integrity (HVCI) and VBS enclaves depend on confidentiality to maintain a strong security boundary. The L1TF vulnerability introduces risk that the confidentiality of VBS secrets could be compromised via a side-channel attack when Hyper-Threading (HT) is enabled, weakening the security boundary provided by VBS. Even with this increased risk, VBS still provides valuable security benefits and mitigates a range of attacks with HT enabled. Hence, we recommend that VBS continue to be used on HT-enabled systems. Customers who want to eliminate the potential risk of the L1TF vulnerability on the confidentiality of VBS should consider disabling HT to mitigate this additional risk. Windows client operating system users who are using Hyper-V for the security guarantees provided by VM isolation should disable HT to protect against L1TF. Customers using Windows Server operating systems may need to apply both firmware (microcode) and software updates, depending on how the system is configured. The following table outlines the requirements for full protection for each CVE: * Protection for CVE-2018-3620 builds on the mitigation for CVE-2017-5754 (Meltdown). When the mitigation for CVE-2017-5754 is enabled, Windows automatically enables protection for CVE-2018-3620. The mitigation for CVE-2017-5754 is enabled by default on Windows Server 2019 and disabled by default on Windows Server 2016 and earlier versions. To obtain protection for CVE-2018-3620, customers must enable the protection for CVE-2017-5754 if disabled. (See FAQ #2 ). ** The required microcode is the same microcode that addresses CVE-2018-3639 and CVE-2018-3640. Microsoft is making available Intel-validated microcode updates for Windows Server 2016 operating systems. Please see Microsoft Knowledge Base Article 4093836 for the current Intel microcode updates. *** Windows Server 2019 defaults to using the Core Scheduler as the hypervisor scheduler type. Prior versions of Windows Server use the classic scheduler. Servers that use Hyper-V with Core Scheduler do not need to disable Hyper-Threading to protect against L1TF. Detailed guidance on the actions required for Windows Server customers can be found in Microsoft Knowledge Base Article 4457951 . Customers using Microsoft Surface and Surface Book products need to follow the guidance for Windows Client outlined on this advisory. See Microsoft Knowledge Base Article 4073065 for more information about affected Surface products and availability of the microcode updates. Microsoft HoloLens is unaffected by L1TF because it does not use an affected Intel processor. 1. How do I disable Hyper-Threading on my device? The steps necessary to disable Hyper-Threading will differ from OEM to OEM but are generally part of the BIOS or firmware setup and configuration tools. 2. How do I enable the mitigation for CVE-2017-5754 (Meltdown)? Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. You can then restore the registry if a problem occurs. For more information about how to back up and restore the registry, see Microsoft Knowledge Base 322756 How to back up and restore the registry in Windows . To enable protection for CVE-2017-5715 and CVE 2017-5754: Restart the computer for the changes to take effect. Note : Customers who turned on the mitigation for Speculative Store Bypass (CVE-2018-3639) by following the guidance in Security Advisory 180012 do not need to take further action because the registry key settings provided in ADV180012 also enable protections for CVE-2017-5754. 3. What is VBS and how do I know if I am using it? Virtualization Based Security (VBS) uses hardware virtualization features to create and isolate a secure region of memory from the normal operating system and is used by security features such as Device Guard, Application Guard, Credential Guard, and Hypervisor Code Integrity (HVCI). VBS is supported in the following versions of Windows: To determine if VBS is enabled, run MSINFO32.EXE and look for the Virtualization-based Security line item under the System Summary node.
Overview
CVSS Vector
EPSS Score
No EPSS score available for this CVE.
View on FIRST.orgAffected Products
| Product | KB Article | Severity | Impact | Restart Required |
|---|---|---|---|---|
| Windows 10 for 32-bit Systems | 4343892 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 for x64-based Systems | 4343892 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1607 for 32-bit Systems | 4343887 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1607 for x64-based Systems | 4343887 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1703 for 32-bit Systems | 4343885 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1703 for x64-based Systems | 4343885 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1709 for 32-bit Systems | 4343897 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1709 for x64-based Systems | 4343897 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1803 for 32-bit Systems | 4343909 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 10 Version 1803 for x64-based Systems | 4343909 (Security Update) |
Important | Information Disclosure | Yes |
| Windows 7 for 32-bit Systems Service Pack 1 4343900 (Monthly Rollup) 4343899 (Security Only) Important Information Disclosure 4338818 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows 7 for x64-based Systems Service Pack 1 4343900 (Monthly Rollup) 4343899 (Security Only) Important Information Disclosure 4338818 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows 8.1 for 32-bit systems 4343898 (Monthly Rollup) 4343888 (Security Only) Important Information Disclosure 4338815 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows 8.1 for x64-based systems 4343898 (Monthly Rollup) 4343888 (Security Only) Important Information Disclosure 4338815 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows RT 8.1 | 4343898 (Monthly Rollup) |
Important | Information Disclosure | Yes |
| Windows Server 2008 for 32-bit Systems Service Pack 2 4341832 (Security Update) 4458010 (Monthly Rollup) 4457984 (Security Only) Important Information Disclosure Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) 4341832 (Security Update) 4458010 (Monthly Rollup) 4457984 (Security Only) Important Information Disclosure Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2008 for x64-based Systems Service Pack 2 4458010 (Monthly Rollup) 4458010 (Monthly Rollup) 4457984 (Security Only) Important Information Disclosure Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) 4458010 (Monthly Rollup) 4458010 (Monthly Rollup) 4457984 (Security Only) Important Information Disclosure Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2008 R2 for x64-based Systems Service Pack 1 4343900 (Monthly Rollup) 4343899 (Security Only) Important Information Disclosure 4338818 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) 4343900 (Monthly Rollup) 4343899 (Security Only) Important Information Disclosure 4338818 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2012 4343901 (Monthly Rollup) 4343896 (Security Only) Important Information Disclosure 4338830 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2012 (Server Core installation) 4343901 (Monthly Rollup) 4343896 (Security Only) Important Information Disclosure 4338830 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2012 R2 4343898 (Monthly Rollup) 4343888 (Security Only) Important Information Disclosure 4338815 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2012 R2 (Server Core installation) 4343898 (Monthly Rollup) 4343888 (Security Only) Important Information Disclosure 4338815 Base: 7.1 Temporal: 7.1 Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N Yes None Windows Server 2016 | 4343887 (Security Update) |
Important | Information Disclosure | Yes |
| Windows Server 2016 (Server Core installation) | 4343887 (Security Update) |
Important | Information Disclosure | Yes |
| Windows Server, version 1709 (Server Core Installation) | 4343897 (Security Update) |
Important | Information Disclosure | Yes |
| Windows Server, version 1803 (Server Core Installation) | 4343909 (Security Update) |
Important | Information Disclosure | Yes |
Patches
| Article | Type | Restart |
|---|---|---|
4343892 |
Security Update | Yes |
4343887 |
Security Update | Yes |
4343885 |
Security Update | Yes |
4343897 |
Security Update | Yes |
4343909 |
Security Update | Yes |
4343898 |
Monthly Rollup | Yes |
Known Exploits
Acknowledgments
Microsoft would like to thank Raoul Strackx, Jo Van Bulck, and Frank Piessens of imec-DistriNet, KU Leuven; Marina Minkin and Mark Silberstein of Technion; Ofir Weisse, Daniel Genkin, Baris Kasikci, and Thomas F. Wenisch of University of Michigan; Yuval Yarom, University of Adelaide and Data61; Lei Shi of Qihoo360 CERT