CVE-2016-0189
Microsoft Internet Explorer — Microsoft Internet Explorer Memory Corruption Vulnerability
Description
The Microsoft (1) JScript 5.8 and (2) VBScript 5.7 and 5.8 engines, as used in Internet Explorer 9 through 11 and other products, allow remote attackers to execute arbitrary code or cause a denial of service (memory corruption) via a crafted web site, aka "Scripting Engine Memory Corruption Vulnerability," a different vulnerability than CVE-2016-0187.
Response & Mitigation
Why act now?
Prioritisation rationale
CVE-2016-0189 carries a CISA "Known Ransomware Campaign Use" flag and sits at the 99.8th EPSS percentile, reflecting sustained real-world exploitation by exploit kits such as Neutrino and Magnitude that chain this vulnerability into full ransomware deployment. The primary risk profile is organisations still running IE 9–11 on legacy systems — a common scenario in KRITIS environments where industrial HMIs or internal web applications have not been migrated. Despite the vulnerability's age, unpatched IE instances remain reachable attack surfaces, and the low exploitation complexity (user visits a crafted page, no further interaction required) makes this a high-priority remediation item. Score it critical if any unpatched IE instance has internet access or sits on a network segment reachable from internet-facing systems; patch or isolate within 24 hours.
Runbook · Step 1
Immediate response (0-24 h)
- Apply the patch: Deploy Microsoft security update MS16-051 (KB3154070) immediately to all Windows systems running Internet Explorer 9, 10, or 11 — this directly addresses the JScript 5.8 and VBScript 5.7/5.8 memory corruption flaw.
- Disable Internet Explorer where not operationally required: Block
iexplore.exevia AppLocker and redirect users to a patched alternative browser; enforce via GPO to prevent accidental re-launch. - Disable VBScript in the Internet Zone: Set
Computer Configuration → Administrative Templates → Windows Components → Internet Explorer → Internet Control Panel → Security Page → Internet Zone → Allow VBScript to run in Internet Explorerto "Disabled" via GPO — effective even before the patch is deployed. - Enforce Enhanced Protected Mode (EPM): Enable EPM for IE 11 via GPO (
Internet Explorer → Advanced → Enable Enhanced Protected Mode) to raise the cost of sandbox escape post-exploitation. - Restrict outbound web traffic: Route all workstation HTTP/HTTPS through a proxy with TLS inspection and URL categorisation to break drive-by download chains before they reach the scripting engine.
- Invalidate privileged credentials on unpatched hosts: Revoke admin tokens and saved browser credentials on any system still running unpatched IE; enforce MFA for re-authentication.
Runbook · Step 2
Mitigation layers
- Network segmentation: Place workstations in dedicated client VLANs with micro-segmentation rules (Windows Firewall GPO, VLAN ACLs) to limit lateral movement following a browser compromise.
- Proxy/WAF rule: Configure the proxy to block or quarantine HTTP responses containing VBScript blocks (
<script language="vbscript") intext/htmlorapplication/x-javascriptcontent types. - Exploit Protection hardening: On Windows 10+, apply
Set-ProcessMitigation -Name iexplore.exe -Enable DEP,SEHOP,ASLR; on legacy systems with EMET, enforce EAF+, forced ASLR, and DEP foriexplore.exe. - Least privilege: Ensure browser processes never run with local admin rights; set UAC to maximum; deploy LAPS for local accounts to limit credential reuse after compromise.
- DNS sinkholing: Redirect known exploit-kit domains (sourced from threat-intelligence feeds) to an internal sinkhole IP to interrupt payload delivery before execution.
- WDAC policy for scripting engines: Configure a Windows Defender Application Control policy to allow
jscript.dllandvbscript.dllto load only from trusted, signed parent processes.
Runbook · Step 3
Detection rules
- Sysmon EID 1 — Suspicious child processes of iexplore.exe: Process ancestry
iexplore.exe → cmd.exe | powershell.exe | wscript.exe | mshta.exeis a strong exploitation indicator. Sigma shape:ParentImage|endswith: 'iexplore.exe'ANDImage|endswith: '\cmd.exe'(or\powershell.exe). - Windows Event ID 4688 (process creation with command line): Alert on any child process of
iexplore.exethat initiates network connections or spawnsrundll32.exewith unusual arguments. - Sysmon EID 3 (network connection): Outbound connections from
iexplore.exedirectly to bare IP addresses (no FQDN) on ports 80/443 — exploit kits frequently use numeric IPs for payload staging. - Sysmon EID 7 (image load): Loading of
jscript.dllorvbscript.dllfrom paths outside%SystemRoot%\System32byiexplore.exeormshta.exe. - Proxy log pattern (SPL):
index=proxy dest_category=unknown http_method=GET uri_path="*.php?id=*" | where bytes_out > 50000— matches typical exploit-kit landing page responses with large body sizes used to deliver shellcode.
Metrics
Public exploit references
Public proof-of-concepts and detection templates for this vulnerability. Maturity ranges from reported PoCs through working detection scripts up to fully weaponized exploit modules. NEOSEC mirrors the code internally for forensic analysis; externally we only link to the original sources.
References & sources
- http://www.securityfocus.com/bid/90012vdb-entryx_refsource_BID
- https://www.virusbulletin.com/virusbulletin/2017/01/journey-and-evolution-god-mode-2016-cve-2016-0189/x_refsource_MISC
- https://docs.microsoft.com/en-us/security-updates/securitybulletins/2016/ms16-051vendor-advisoryx_refsource_MS
- https://docs.microsoft.com/en-us/security-updates/securitybulletins/2016/ms16-053vendor-advisoryx_refsource_MS
- https://www.exploit-db.com/exploits/40118/exploitx_refsource_EXPLOIT-DB
- http://www.securitytracker.com/id/1035820vdb-entryx_refsource_SECTRACK
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2016-0189government-resource