#VU6437 Memory corruption in Microsoft products - CVE-2017-0290
Published: May 9, 2017 / Updated: September 14, 2018
Microsoft Malware Protection Engine
Microsoft Endpoint Protection
Microsoft Security Essentials
Windows Defender
Windows Intune Endpoint Protection
Microsoft Forefront Endpoint Protection
Microsoft Forefront Security for SharePoint
Microsoft System Center Endpoint Protection
Microsoft
Description
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to boundary error when processing files using Microsoft Malware Protection Engine. A remote unauthenticated attacker can create a specially crafted file, trick the victim into downloading it and execute arbitrary code on the target system, once the file is scanned with antimalware solution.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
Remediation
The vulnerability was fixed in Microsoft Malware Protection Engine version 1.1.13704.0.
The following PowerShell script can be used to check for vulnerable version of Microsoft Malware Protection Engine across computers in your domain:
$ErrorActionPreference = "SilentlyContinue"
$computers = Get-ADComputer -Filter 'Enabled -eq $true' -Properties Enabled | select-object -expandproperty name
foreach ($computer in $computers) {
$productVersion = ""
Write-Output $computer
try{
$w32reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$computer )
$keypath = 'SOFTWARE\Microsoft\Windows Defender\Signature Updates\'
$productKey = $w32reg.OpenSubKey($keypath)
if ($productKey) {
$productVersion = $productKey.GetValue('EngineVersion')
if ($productVersion -eq "1.1.13701.0") {
write-output "Version: $productVersion VULNERABLE!"
} else {
write-output "Version OK: $productVersion"
}
Clear-Item Variable:productVersion
}
else {write-output "Windows Defender not found"}
}
catch{
write-output "Computer not accessible"
}
}