Install all current Windows security updates and the server vendor’s latest BIOS/firmware microcode, then use Get-SpeculationControlSettings to identify and enable only the mitigations that remain disabled.
1. Update Windows and the server firmware
Microsoft’s complete protection requires both software and, for some processor vulnerabilities, firmware/microcode support ^1^.
- Install all applicable monthly Windows security updates.
- Install the latest BIOS/UEFI or firmware package supplied for that server model.
- Restart Windows.
- If this is a virtual machine, ensure the virtualization host has also received the required firmware/microcode and operating-system updates.
Do not copy a generic scanner-supplied registry value before identifying the affected CVE and processor type. The correct value differs for Intel and AMD processors and when several mitigations must coexist.
2. Check the actual mitigation status
On Windows Server 2016 or a server with Windows Management Framework 5.0/5.1, open PowerShell as Administrator and run:
Install-Module SpeculationControl
$SavedPolicy = Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Import-Module SpeculationControl
Get-SpeculationControlSettings
Set-ExecutionPolicy $SavedPolicy -Scope CurrentUser
The command reports hardware support, Windows support, policy state, and whether each mitigation is enabled. Enabled protections appear as True ^2^.
Interpret important failures as follows:
- Hardware support … present: False — update the physical host’s OEM firmware/microcode. In a guest VM, the host must expose that support.
- Windows OS support … present: False — required Windows updates are missing.
- Disabled by system policy: True — the mitigation is disabled through the
FeatureSettingsOverrideregistry policy. - Support present but enabled: False — consult the matching CVE section in KB4072698; some Windows Server protections require explicit registry enablement.
3. Enable the mitigation identified by the check
For the commonly reported combination of CVE-2018-3639, CVE-2017-5715, and CVE-2017-5754, Microsoft documents these server settings ^1^:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
Restart the server afterward.
Important: changing these values overwrites the existing mitigation bitmask. Before doing so, record the current values:
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask
If other mitigations are already configured—such as Intel Branch History Injection, AMD Branch Type Confusion, MMIO, MDS, or L1TF—use the Enabling multiple mitigations table in KB4072698 and combine the required values. Do not replace a combined value with 8.
AMD-specific protections also have different documented values; first verify the CPU vendor and the exact failed CVE.
4. Hyper-V hosts
If the Hyper-V feature is installed, add:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f
After host firmware is updated:
- Fully shut down—not merely restart—all guest VMs.
- Restart the Hyper-V host.
- Start the VMs again so they receive the firmware-related mitigation exposure.
5. Validate remediation
After the restart:
- Run
Get-SpeculationControlSettingsagain. - Confirm that the relevant hardware support, Windows support, and enabled fields report
True. - Rescan the server with the vulnerability scanner.
Some mitigations can affect performance, so test registry changes on a representative non-production server before broad deployment. If the scanner still reports the generic finding, compare its failed check or CVE with the PowerShell output; the scanner title alone does not identify which mitigation is missing.
References