Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:19597
HistoryApr 08, 2008 - 12:00 a.m.

Microsoft Security Bulletin MS08-022 – Critical Vulnerability in VBScript and JScript Scripting Engines Could Allow Remote Code Execution (944338)

2008-04-0800:00:00
vulners.com
37

Microsoft Security Bulletin MS08-022 – Critical
Vulnerability in VBScript and JScript Scripting Engines Could Allow Remote Code Execution (944338)
Published: April 8, 2008

Version: 1.0
General Information
Executive Summary

This security update resolves a privately reported vulnerability in the VBScript and JScript scripting engines in Windows. An attacker who successfully exploited this vulnerability could take complete 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 is a critical security update for all supported editions of Microsoft Windows 2000, Windows XP, and Windows Server 2003. For more information, see the subsection, Affected and Non-Affected Software, in this section.

This security update addresses the vulnerability by modifying the way that the VBScript and JScript engines decode script in Web pages. For more information about the vulnerability, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability entry under the next section, Vulnerability Information.

Recommendation. Microsoft recommends that customers apply the update immediately

Known Issues. None
Top of sectionTop of section
Affected and Non-Affected Software

The following software have been tested to determine which versions or editions are affected. Other versions or editions are either past their support life cycle or are not affected. To determine the support life cycle for your software version or edition, visit Microsoft Support Lifecycle.

Affected Software
Operating System Component Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update

Microsoft Windows 2000 Service Pack 4

VBScript 5.1 and JScript 5.1

Remote Code Execution

Critical

MS06-023

Microsoft Windows 2000 Service Pack 4

VBScript 5.6 and JScript 5.6

Remote Code Execution

Critical

MS06-023

Windows XP Service Pack 2

VBScript 5.6 and JScript 5.6

Remote Code Execution

Critical

MS06-023

Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

VBScript 5.6 and JScript 5.6

Remote Code Execution

Critical

MS06-023

Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

VBScript 5.6 and JScript 5.6

Remote Code Execution

Critical

MS06-023

Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2

VBScript 5.6 and JScript 5.6

Remote Code Execution

Critical

MS06-023

Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium based Systems

VBScript 5.6 and JScript 5.6

Remote Code Execution

Critical

MS06-023

Non-Affected Software
Operating System

Windows Vista

Windows Vista x64 Edition

Windows Vista Service Pack 1 (all editions)

Windows Server 2008 (all editions)
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

Where are the file information details?
The file information details can be found in Microsoft Knowledge Base Article 944338.

I am using JScript 5.1 and/or VBScript 5.1. Am I affected?
Yes, your software is affected. This update will apply to your software and change the version level to JScript 5.6 and/or VBScript 5.6. The file information in Microsoft Knowledge Base Article 944338 will apply to you.

I am using a release older than JScript 5.1 and VBScript 5.1 of the software discussed in this security bulletin. What should I do?
The affected software listed in this bulletin have been tested to determine which releases are affected. Other releases are past their support life cycle. To determine the support life cycle for your software release, visit Microsoft Support Lifecycle.

It should be a priority for customers who have older releases of the software to migrate to supported releases to prevent potential exposure to vulnerabilities. For more information about the Windows Product Lifecycle, visit Microsoft Support Lifecycle. For more information about the extended security update support period for these software versions or editions, visit Microsoft Product Support Services.

Customers who require custom support for older releases must contact their Microsoft account team representative, their Technical Account Manager, or the appropriate Microsoft partner representative for custom support options. Customers without an Alliance, Premier, or Authorized Contract can contact their local Microsoft sales office. For contact information, visit Microsoft Worldwide Information, select the country, and then click Go to see a list of telephone numbers. When you call, ask to speak with the local Premier Support sales manager. For more information, see the Windows Operating System Product Support Lifecycle FAQ.
Top of sectionTop of section
Vulnerability Information

Severity Ratings and Vulnerability Identifiers
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software VBScript and JScript Remote Code Execution Vulnerability - CVE-2008-0083 Aggregate Severity Rating
VBScript

VBScript 5.1 on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical

VBScript 5.6 on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical

VBScript 5.6 on Windows XP Service Pack 2

Critical
Remote Code Execution

Critical

VBScript 5.6 on Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

VBScript 5.6 on Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical

VBScript 5.6 on Windows Server 2003 x64 Edition and Windows 2003 Server x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

VBScript 5.6 on Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium based Systems

Critical
Remote Code Execution

Critical
JScript

JScript 5.1 on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical

JScript 5.6 on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows XP Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows Server 2003 x64 Edition and Windows 2003 Server x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium based Systems

Critical
Remote Code Execution

Critical
Top of sectionTop of section

VBScript/JScript Remote Code Execution Vulnerability - CVE-2008-0083

A remote code execution vulnerability exists in the way that the VBScript and JScript scripting engines decode script in Web pages. This vulnerability could allow remote code execution if a user opened a specially crafted file or visited a Web site that is running specially crafted script. If a user is logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

To view this vulnerability as a standard entry in the Common Vulnerabilities and Exposures list, see CVE-2008-0083.

Mitigating Factors for VBScript/JScript Remote Code Execution Vulnerability - CVE-2008-0083

Mitigation refers to a setting, common configuration, or general best-practice, existing in a default state, that could reduce the severity of exploitation of a vulnerability. The following mitigating factors may be helpful in your situation:

An attacker who successfully exploited this vulnerability could gain the same user rights as the local user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

In a Web-based attack scenario, an attacker could host a Web site that contains a Web page that is used to exploit this vulnerability. In addition, compromised Web sites and Web sites that accept or host user-provided content or advertisements could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes users to the attacker’s Web site.

In an e-mail-based attack of this exploit, customers who read e-mail in plain text are at less risk from this vulnerability.

By default, all supported versions of Microsoft Outlook and Microsoft Outlook Express open HTML e-mail messages in the Restricted sites zone. The Restricted sites zone helps reduce attacks that could try to exploit this vulnerability, by preventing Active Scripting and ActiveX controls from being used when reading HTML e-mail. However, if a user clicks on a link within an e-mail they could still be vulnerable to this issue through the Web-based attack scenario.

Systems with Internet Explorer 7, which is delivered with VBScript.dll version 5.7 and JScript.dll version 5.7, are not affected by this vulnerability.

By default, Internet Explorer on Windows Server 2003 runs in a restricted mode that is known as Enhanced Security Configuration. This mode sets the security level for the Internet zone to High. This is a mitigating factor for Web sites that have not been added to Internet Explorer Trusted sites zone. See the FAQ subsection of this vulnerability section for more information about Internet Explorer Enhanced Security Configuration.
Top of sectionTop of section

Workarounds for VBScript/JScript Remote Code Execution Vulnerability - CVE-2008-0083

Workaround refers to a setting or configuration change that does not correct the underlying vulnerability but would help block known attack vectors before you apply the update. Microsoft has tested the following workarounds and states in the discussion whether a workaround reduces functionality:

Unregister the VBScript.Encode and JScript.Encode COM objects.

Warning Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe.

Using the interactive method:

Click Start, click Run, type regedit, and then click OK.

Expand HKEY_CLASSES_ROOT.

Click VBScript.Encode.

Click File and select Export.

In the Export Registry File dialog, type vbscript_encode_configuration_backup.reg
and click Save.

Press Delete.

Click OK.

Repeat steps 3 through 7 for JScript.Encode.

Close any open instances of Internet Explorer.

Using a managed deployment script:

Create a backup copy of the registry keys using a managed deployment script containing the following commands:

regedit /e vbscript_encode_configuration_backup.reg
HKEY_CLASSES_ROOT\VBScript.Encode

regedit /e jscript_encode_configuration_backup.reg
HKEY_CLASSES_ROOT\JScript.Encode

Next save the following to a file with a .REG extension, for example, Disable_vbscript_and_jscript_encode.reg:

Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\VBScript.Encode]
[-HKEY_CLASSES_ROOT\JScript.Encode]

Run the registry script created in step 2 on the target machine with the following command:

Regedit /s Disable_vbscript_and_jscript_encode.reg

Impact of workaround. Encoded scripts will not work but regular scripts will continue working.

How to undo the workaround.

Using the interactive method:

Click Start, click Run, type regedit, and then click OK.

Click File and select Import.

In the Import Registry File dialog, select
vbscript_encode_configuration_backup.reg
and click Open.

Click File and select Import.

In the Import Registry File dialog, select
jscript_encode_configuration_backup.reg
and click Open.

Using a managed deployment script:

Restore the original state by running the following commands:

Regedit /s vbscript_encode_configuration_backup.reg
Regedit /s jscript_encode_configuration_backup.reg
Top of sectionTop of section

FAQ for VBScript/JScript Remote Code Execution Vulnerability - CVE-2008-0083

What is the scope of the vulnerability?
This is a remote code execution vulnerability. If a user is logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

What causes the vulnerability?
The vulnerability is caused by the way that the VBScript and JScript scripting engines decode scripts in Web pages to allow the scripts to load into memory in order to run.

What is script decoding?
Web designers use scripting on Web pages and server-side active server pages (.ASP) to add features to Web pages. Web designers also encode these scripts to make it difficult for users to read the script embedded in the page, or to copy it and adapt it to their own purposes. When the script needs to run, the scripting engine decodes the script in order to load the script to memory.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of an affected system remotely. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

How could an attacker exploit the vulnerability?
An attacker could host a specially crafted Web site that is designed to exploit this vulnerability and then convince a user to visit the Web site. This could also include compromised Web sites and Web sites that accept or host user-provided content or advertisements. These Web sites could contain specially crafted content that could exploit these vulnerabilities. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail message or in an Instant Messenger message that takes users to the attacker's Web site. It could also be possible to display specially crafted Web content by using banner advertisements or by using other methods to deliver Web content to affected systems.

What systems are primarily at risk from the vulnerability?
Client or workstation systems where Internet Explorer is used to browse Web pages and where VBScript.dll and JScript.dll versions below 5.6.0.8835 are used, are primarily at risk.

I am running Internet Explorer on Windows Server 2003. Does this mitigate this vulnerability?
Yes. By default, Internet Explorer on Windows Server 2003 runs in a restricted mode that is known as Enhanced Security Configuration. This mode sets the security level for the Internet zone to High. This is a mitigating factor for Web sites that have not been added to Internet Explorer Trusted sites zone.

What is the Internet Explorer Enhanced Security Configuration?
Internet Explorer Enhanced Security Configuration is a group of preconfigured Internet Explorer settings that reduce the likelihood of a user or of an administrator downloading and running specially crafted Web content on a server. Internet Explorer Enhanced Security Configuration reduces this risk by modifying many security-related settings. This includes the settings on the Security tab and the Advanced tab in the Internet Options dialog box. Some of the important modifications include the following:

Security level for the Internet zone is set to High. This setting disables scripts, ActiveX controls, Microsoft Java Virtual Machine (MSJVM), and file downloads.

Automatic detection of intranet sites is disabled. This setting assigns all intranet Web sites and all Universal Naming Convention (UNC) paths that are not explicitly listed in the Local intranet zone to the Internet zone.

Install On Demand and non-Microsoft browser extensions are disabled. This setting prevents Web pages from automatically installing components and prevents non-Microsoft extensions from running.

Multimedia content is disabled. This setting prevents music, animations, and video clips from running.

For more information regarding Internet Explorer Enhanced Security Configuration, see the guide, Managing Internet Explorer Enhanced Security Configuration.

What does the update do?
This security update addresses the vulnerability by modifying the way that the VBScript and JScript engines decode script in Web pages. The VBScript scripting engine is named VBScript.dll; the JScript scripting engine is named JScript.dll.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure. Microsoft had not received any information to indicate that this vulnerability had been publicly disclosed when this security bulletin was originally issued. This security bulletin addresses the privately disclosed vulnerability as well as additional issues discovered through internal investigations.

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
No. Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers and had not seen any examples of proof of concept code published when this security bulletin was originally issued.

Other Information
Acknowledgments

Microsoft thanks the following for working with us to help protect customers:

Peter Ferrie of Symantec for reporting the VBScript/Jscript Buffer Overrun Vulnerability (CVE-2008-0083).

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.