Microsoft Security Bulletin MS15-108 - Critical

Security Update for JScript and VBScript to Address Remote Code Execution (3089659)

Published: October 13, 2015

Version: 1.0

Executive Summary

This security update resolves vulnerabilities in the VBScript and JScript scripting engines in Microsoft Windows. The more severe of the vulnerabilities could allow remote code execution if an attacker hosts a specially crafted website that is designed to exploit the vulnerabilities through Internet Explorer (or leverages a compromised website or a website that accepts or hosts user-provided content or advertisements) and then convinces 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 uses the IE rendering engine to direct the user to the specially crafted website.

An attacker who successfully exploited the vulnerabilities could gain the same user rights as the current user and, if the current user is logged on with administrative user rights, the attacker 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 editions of Windows Vista, Windows Server 2008, and Server Core installations of Windows Server 2008 R2. For more information, see the Affected Software section.

The update addresses the vulnerabilities by modifying how the VBScript and JScript scripting engines handle objects in memory, and helping to ensure that affected versions of VBScript properly implement the ASLR security feature. For more information about the vulnerabilities, see the Vulnerability Information section.

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

Affected Software

The following versions of JScript and VBScript are affected by the vulnerability discussed in this bulletin. Earlier versions or editions that are not listed are either past their support life cycle or are not affected. The following affected software apply to systems with Internet Explorer 7 or earlier installed and to systems without Internet Explorer installed. Customers with systems running Internet Explorer 8 or later should apply Internet Explorer Cumulative Update 3093983 (MS15-106), which also addresses the vulnerability discussed in this bulletin.

Affected Software

Operating System Component Maximum Security Impact Aggregate Severity Rating Updates Replaced*
Windows Vista
Windows Vista Service Pack 2 JScript 5.7 and VBScript 5.7
(3094996)
Remote Code Execution Critical 3068368 in MS15-066
Windows Vista x64 Edition Service Pack 2 JScript 5.7 and VBScript 5.7
(3094996)
Remote Code Execution Critical 3068368 in MS15-066
Windows Server 2008
Windows Server 2008 for 32-bit Systems Service Pack 2 JScript 5.7 and VBScript 5.7
(3094996)
Remote Code Execution Critical 3068368 in MS15-066
Windows Server 2008 for x64-based Systems Service Pack 2 JScript 5.7 and VBScript 5.7
(3094996)
Remote Code Execution Critical 3068368 in MS15-066
Windows Server 2008 for Itanium-based Systems Service Pack 2 JScript 5.7 and VBScript 5.7
(3094996)
Remote Code Execution Critical 3068368 in MS15-066
Server Core installation option
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) JScript 5.7 and VBScript 5.7
(3094996)
Remote Code Execution Critical 3068368 in MS15-066
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) JScript 5.7 and VBScript 5.7
(3094996)
Remote Code Execution Critical 3068368 in MS15-066
Windows Server 2008 R2 for x64-based Systems Service Pack 1
(Server Core installation only)
JScript 5.8 and VBScript 5.8
(3094995)
Remote Code Execution Critical 3068368 in MS15-066

*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

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 version of the JScript and VBScript scripting engine 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 version 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 (MS15-106), which also addresses the vulnerability discussed in this bulletin.

The following table summarizes which bulletin provides the update by version of JScript and VBScript, and Internet Explorer.

Version MS15-108 MS15-106
JScript 5.7 and VBScript 5.7
(Internet Explorer 7)
JScript 5.7 and VBScript 5.7
(3094996)
Not applicable
JScript 5.8 and VBScript 5.8
(Internet Explorer 8)
JScript 5.8 and VBScript 5.8
(3094995)
(Windows Server Core installation on Windows Server 2008 R2 for x64-based Systems Service Pack 1 only.)
Internet Explorer 8
(3093983)
JScript 5.8 and VBScript 5.8
(Internet Explorer 9)
Not applicable Internet Explorer 9
(3093983)
JScript 5.8 and VBScript 5.8
(Internet Explorer 10)
Not applicable Internet Explorer 10
(3093983)
JScript 5.8 and VBScript 5.8
(Internet Explorer 11)
Not applicable Internet Explorer 11
(3093983)

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 October bulletin summary.

Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software Scripting Engine Memory Corruption Vulnerability - CVE-2015-2482 VBScript and JScript ASLR Bypass - CVE-2015-6052 Scripting Engine Memory Corruption Vulnerability - CVE-2015-6055 Scripting Engine Information Disclosure Vulnerability - CVE-2015-6059 Aggregate Severity Rating
JScript 5.7 and VBScript 5.7 (Internet Explorer 7)
JScript 5.7 and VBScript 5.7 on Windows Vista Service Pack 2 Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Vista x64 Edition Service Pack 2 Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Server 2008 for 32-bit Systems Service Pack 2 Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Server 2008 for 32-bit Systems Service Pack 2
(Server Core installation)
Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Server 2008 for x64-based Systems Service Pack 2 Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Server 2008 for x64-based Systems Service Pack 2
(Server Core installation)
Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Server 2008 for Itanium-based Systems Service Pack 2 Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Server 2008 for 32-bit Systems Service Pack 2
(Server Core installation)
Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.7 and VBScript 5.7 on Windows Server 2008 for x64-based Systems Service Pack 2
(Server Core installation)
Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical
JScript 5.8 and VBScript 5.8
JScript 5.8 and VBScript 5.8 on Windows Server 2008 R2 for x64-based Systems Service Pack 1
(Server Core installation only)
Critical Remote Code Execution Important
Security Feature Bypass
Critical Remote Code Execution Important
Information Disclosure
Critical

Vulnerability Information

Multiple Scripting Engine Memory Corruption Vulnerabilities

Remote code execution vulnerabilities exist in the way that the VBScript and JScript engines, when handling objects in memory in Internet Explorer, render. In a web-based attack scenario, an attacker could host a specially crafted website that is designed to exploit the vulnerabilities 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 vulnerabilities.

An attacker who successfully exploited the vulnerabilities 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.

The update addresses the vulnerabilities by modifying how the VBScript and JScript 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-2015-2482 No No
Scripting Engine Memory Corruption Vulnerability CVE-2015-6055 No No

Mitigating Factors

Microsoft has not identified any mitigating factors for this vulnerability.

Workarounds

The following workarounds 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
    ```

VBScript and JScript ASLR Bypass - CVE-2015-6052

A security feature bypass exists when the VBScript and JScript engines fail to use the Address Space Layout Randomization (ASLR) security feature, allowing an attacker to more reliably predict the memory offsets of specific instructions in a given call stack. The security feature bypass by itself does not allow arbitrary code execution. However, an attacker could use the ASLR bypass in conjunction with another vulnerability, such as a remote code execution vulnerability, that could take advantage of the ASLR bypass to more reliably run arbitrary code on a target system.

In a web-browsing scenario, successful exploitation of an ASLR bypass requires that a user, while logged on and running an affected version of Internet Explorer, browse to a malicious website. Therefore, any systems where a web browser is used frequently, such as workstations or terminal servers, are at the most risk from ASLR bypasses. Servers could be at more risk if administrators allow users to browse and read email on servers. However, best practices strongly discourage allowing this.

The update addresses this ASLR bypass by helping to ensure that affected versions of VBScript properly implement the ASLR security feature.

Microsoft received information about this vulnerability through coordinated vulnerability disclosure. When this security bulletin was originally issued, Microsoft had not received any information to indicate that the vulnerabilities had been publicly used to attack customers.

Mitigating Factors

Microsoft has not identified any mitigating factors for this vulnerability.

Workarounds

The following workarounds may be helpful in your situation:

  • Restrict access to VBScript.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
    ```

- 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
    ```

**Impact of Workaround.** Websites that use VBScript 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
    ```


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


    ```
    cacls %windir%\syswow64\vbscript.dll /E /R everyone
    ```

Scripting Engine Information Disclosure Vulnerability - CVE-2015-6059

An information disclosure vulnerability exists when JScript or VBScript improperly discloses the contents of its memory, which could provide an attacker with information to further compromise the user’s computer or data.

To exploit the vulnerability, an attacker must know the memory address of where the object was created. The update addresses the vulnerability by changing the way certain functions handle objects in memory.

Microsoft received information about this vulnerability through coordinated vulnerability disclosure. When this security bulletin was originally issued, Microsoft had not received any information to indicate that the vulnerability had been publicly used to attack customers.

Mitigating Factors

Microsoft has not identified any mitigating factors for this vulnerability.

Workarounds

Microsoft has not identified any workarounds for this vulnerability.

Security Update Deployment

For Security Update Deployment information, see the Microsoft Knowledge Base article referenced here 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 (October 13, 2015): Bulletin published.

Page generated 2015-10-12 09:50-07:00.