Remote code execution in Microsoft Malware Protection Engine



Published: 2017-05-09
Risk High
Patch available YES
Number of vulnerabilities 1
CVE-ID CVE-2017-0290
CWE-ID CWE-119
Exploitation vector Network
Public exploit Public exploit code for vulnerability #1 is available.
Vulnerable software
Subscribe
Microsoft Malware Protection Engine
Client/Desktop applications / Antivirus software/Personal firewalls

Microsoft Endpoint Protection
Client/Desktop applications / Antivirus software/Personal firewalls

Microsoft Security Essentials
Client/Desktop applications / Antivirus software/Personal firewalls

Windows Defender
Client/Desktop applications / Antivirus software/Personal firewalls

Windows Intune Endpoint Protection
Client/Desktop applications / Antivirus software/Personal firewalls

Microsoft Forefront Endpoint Protection
Server applications / DLP, anti-spam, sniffers

Microsoft Forefront Security for SharePoint
Server applications / DLP, anti-spam, sniffers

Microsoft System Center Endpoint Protection
Server applications / DLP, anti-spam, sniffers

Vendor Microsoft

Security Bulletin

This security bulletin contains one high risk vulnerability.

1) Memory corruption

EUVDB-ID: #VU6437

Risk: High

CVSSv3.1: 9 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C]

CVE-ID: CVE-2017-0290

CWE-ID: CWE-119 - Memory corruption

Exploit availability: Yes

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.

Mitigation

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"
    }

}

Vulnerable software versions

Microsoft Malware Protection Engine: 1.1.13701.0

Microsoft Forefront Endpoint Protection: 2010

Microsoft Endpoint Protection: All versions

Microsoft Forefront Security for SharePoint: Service Pack 3

Microsoft System Center Endpoint Protection: All versions

Microsoft Security Essentials: All versions

Windows Defender: for Windows 8.1 - on Windows 7 for 32-bit Systems Service Pack 1

Windows Intune Endpoint Protection: All versions

External links

http://technet.microsoft.com/library/security/4022344.aspx


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability. However, proof of concept for this vulnerability is available.



###SIDEBAR###