Microsoft Security Bulletin MS16-086 - Critical

Cumulative Security Update for JScript and VBScript (3169996)

Published: July 12, 2016

Version: 1.0

Executive Summary

This security update resolves a vulnerability in the JScript and VBScript scripting engines in Microsoft Windows. The vulnerability could allow remote code execution if a user visits a specially crafted website. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. If the current user is logged on with administrative user rights, an attacker who successfully exploited the vulnerabilities could take control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

This security update is rated Critical for affected versions of the JScript and VBScript scripting engines on supported releases of Windows Vista, and Moderate on Windows Server 2008 and Windows Server 2008 R2. For more information, see the AffectedSoftware section.

The update addresses the vulnerability by modifying how the JScript and VBScript scripting engines handle objects in memory. For more information about the vulnerability, see the VulnerabilityInformation section.

For more information about this update, see Microsoft Knowledge Base Article 3169996.

Affected Software

The following versions of JScript and VBScript are affected by the vulnerabilities discussed in this bulletin. Earlier versions or editions that are not listed are either past their support life cycle or are not affected.

Operating System Component Maximum Security Impact Aggregate Severity Rating Updates Replaced*
Windows Vista
Windows Vista Service Pack 2 VBScript 5.7 (3169659) Remote Code Execution Critical 3158364 in MS16-069
Windows Vista x64 Edition Service Pack 2 VBScript 5.7 (3169659) Remote Code Execution Critical 3158364 in MS16-069
Windows Server 2008
Windows Server 2008 for x32-bit Systems Service Pack 2 VBScript 5.7 (3169659) Remote Code Execution Moderate 3158364 in MS16-069
Windows Server 2008 for x64-based Systems Service Pack 2 VBScript 5.7 (3169659) Remote Code Execution Moderate 3158364 in MS16-069
Windows Server 2008 for Itanium-based Systems Service Pack 2 VBScript 5.7 (3169659) Remote Code Execution Moderate 3158364 in MS16-069
Server Core installation option
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) VBScript 5.7 (3169659) Remote Code Execution Moderate 3158364 in MS16-069
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) VBScript 5.7 (3169659) Remote Code Execution Moderate 3158364 in MS16-069
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) JScript 5.8 and VBScript 5.8 (3169658) Remote Code Execution Moderate 3158363 in MS16-069

*The Updates Replaced column shows only the latest update in any chain of superseded updates. For a comprehensive list of updates replaced, go to the Microsoft Update Catalog, search for the update KB number, and then view update details (updates replaced information is provided on the Package Details tab).

Update FAQ

Why do I see both JScript.dll and VBScript.dll in the packages for this cumulative security update? 
This security update ships as a cumulative update for the JScript and VBScript scripting engines. While both engines are included in this release, the components affected by the security fixes covered by this bulletin are listed above in the section AffectedSoftware.

How do I determine which versions of JScript and VBScript scripting engines are installed on my system? 
The JScript and VBScript scripting engines are installed with supported releases of Microsoft Windows. In addition, installing a newer version of Internet Explorer on a system can change the versions of the JScript and VBScript scripting engines that are installed.

To determine which versions of the JScript or VBScript scripting engines are installed on your system, perform the following steps:

  1. Open Windows Explorer.
  2. Navigate to the %systemroot%\system32 directory.
  3. For VBScript, right-click vbscript.dll, select Properties, and then click the Details tab.
  4. For JScript, right-click jscript.dll, select Properties, and then click the Details tab.

The version number is listed in the File Version field. If your file version starts with 5.8, for example 5.8.7600.16385, then VBScript 5.8 is installed on your system.

**Once I know the versions of the JScript or VBScript scripting engine installed on my system, where do I get the update? ** The affected software in this bulletin apply to systems without Internet Explorer installed and to systems with Internet Explorer 7 or earlier versions installed. Customers with systems running Internet Explorer 8 or later should apply the Internet Explorer Cumulative Update (MS16-084), which also addresses the vulnerabilities discussed in this bulletin.

Severity Ratings and Vulnerability Identifiers

The following severity ratings assume the potential maximum impact of the vulnerability. For information regarding the likelihood, within 30 days of this security bulletin's release, of the exploitability of the vulnerability in relation to its severity rating and security impact, please see the Exploitability Index in the July bulletin summary.

Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software Scripting Engine Memory Corruption Vulnerability - CVE-2016-3204 Aggregate Severity Rating
VBScript 5.7
Windows Vista Service Pack 2 (3169659) CriticalRemote Code Execution Critical
Windows Vista x64 Edition Service Pack 2 (3169659) CriticalRemote Code Execution Critical
Windows Server 2008 for 32-bit Systems Service Pack 2 (3169659) ModerateRemote Code Execution Moderate
Windows Server 2008 for x64-based Systems Service Pack 2 (3169659) ModerateRemote Code Execution Moderate
Windows Server 2008 for Itanium-based Systems Service Pack 2 (3169659) ModerateRemote Code Execution Moderate
JScript 5.8 and VBScript 5.8
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation only) (3169658) ModerateRemote Code Execution Moderate

Vulnerability Information

Scripting Engine Memory Corruption Vulnerability - CVE-2016-3204

A remote code execution vulnerability exists in the way that the JScript and VBScript engines render when handling objects in memory in Internet Explorer. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. If the current user is logged on with administrative user rights, an attacker who successfully exploited the vulnerability could take control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

In a web-based attack scenario, an attacker could host a specially crafted website that is designed to exploit the vulnerability through Internet Explorer and then convince a user to view the website. An attacker could also embed an ActiveX control marked "safe for initialization" in an application or Microsoft Office document that hosts the IE rendering engine. The attacker could also take advantage of compromised websites, and websites that accept or host user-provided content or advertisements. These websites could contain specially crafted content that could exploit the vulnerability. The update addresses the vulnerability by modifying how the JScript and VBScript scripting engines handle objects in memory.

The following table contains links to the standard entry for each vulnerability in the Common Vulnerabilities and Exposures list:

Vulnerability title CVE number Publicly disclosed Exploited
Scripting Engine Memory Corruption Vulnerability CVE-2016-3204 No No

Mitigating Factors

Microsoft has not identified any mitigating factors for this vulnerability.

Workarounds

The following workaround may be helpful in your situation:

  • Restrict access to VBScript.dll and JScript.dll

  • For 32-bit systems, enter the following command at an administrative command prompt:

            takeown /f %windir%\system32\vbscript.dll   
            cacls %windir%\system32\vbscript.dll /E /P everyone:N  
            cacls %windir%\system32\jscript.dll /E /P everyone:N         
  • For 64-bit systems, enter the following command at an administrative command prompt:
            takeown /f %windir%\syswow64\vbscript.dll   
            cacls %windir%\syswow64\vbscript.dll /E /P everyone:N  
            cacls %windir%\syswow64\jscript.dll /E /P everyone:N          

Impact of Workaround. Websites that use VBScript or JScript may not work properly.

How to undo the workaround.

  • For 32-bit systems, enter the following command at an administrative command prompt:
            cacls %windir%\system32\vbscript.dll /E /R everyone  
            cacls %windir%\system32\jscript.dll /E /R everyone          
  • For 64-bit systems, enter the following command at an administrative command prompt:
            cacls %windir%\syswow64\vbscript.dll /E /R everyone  
            cacls %windir%\syswow64\jscript.dll /E /R everyone          

Security Update Deployment

For Security Update Deployment information, see the Microsoft Knowledge Base article referenced in the Executive Summary.

Acknowledgments

Microsoft recognizes the efforts of those in the security community who help us protect customers through coordinated vulnerability disclosure. See Acknowledgments for more information.

Disclaimer

The information provided in the Microsoft Knowledge Base is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.

Revisions

  • V1.0 (July 12, 2016): Bulletin published.

Page generated 2016-07-06 11:07-07:00.