#VU6437 Memory corruption in Microsoft products - CVE-2017-0290

 

#VU6437 Memory corruption in Microsoft products - CVE-2017-0290

Published: May 9, 2017 / Updated: September 14, 2018


Vulnerability identifier: #VU6437
Vulnerability risk: High
CVSSv4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P/U:Amber
CVE-ID: CVE-2017-0290
CWE-ID: CWE-119
Exploitation vector: Remote access
Exploit availability: Public exploit is available
Vulnerable software:
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
Software vendor:
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"
    }

}

External links