Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:22426
HistorySep 09, 2009 - 12:00 a.m.

Microsoft Security Bulletin MS09-045 - Critical Vulnerability in JScript Scripting Engine Could Allow Remote Code Execution (971961)

2009-09-0900:00:00
vulners.com
21

Microsoft Security Bulletin MS09-045 - Critical
Vulnerability in JScript Scripting Engine Could Allow Remote Code Execution (971961)
Published: September 08, 2009

Version: 1.0
General Information
Executive Summary

This security update resolves a privately reported vulnerability in the JScript scripting engine that could allow remote code execution if a user opened a specially crafted file or visited a specially crafted Web site and invoked a malformed 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.

This security update is rated Critical for JScript 5.1 on Microsoft Windows 2000 Service Pack 4 and Critical for JScript 5.6, JScript 5.7 and JScript 5.8 on all supported releases of the Windows operating system except Windows 7 and Windows Server 2008 R2. 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 JScript engine processes scripts 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. The majority of customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

See also the section, Detection and Deployment Tools and Guidance, later in this bulletin.

Known Issues. Microsoft Knowledge Base Article 971961 documents the currently known issues that customers may experience when installing this security update. The article also documents recommended solutions for these issues.
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

JScript 5.1 and JScript 5.6

Remote Code Execution

Critical

MS06-023

Windows XP Service Pack 2

JScript 5.6

Remote Code Execution

Critical

MS06-023

Windows XP Service Pack 2

JScript 5.7**

Remote Code Execution

Critical

None

Windows XP Service Pack 3

JScript 5.7

Remote Code Execution

Critical

None

Windows XP Service Pack 2 and Windows XP Service Pack 3

JScript 5.8***

Remote Code Execution

Critical

None

Windows XP Professional x64 Edition Service Pack 2

JScript 5.6
JScript 5.7**
JScript 5.8***

Remote Code Execution

Critical

None

Windows Server 2003 Service Pack 2

JScript 5.6
JScript 5.7**
JScript 5.8***

Remote Code Execution

Critical

None

Windows Server 2003 x64 Edition Service Pack 2

JScript 5.6
JScript 5.7**
JScript 5.8***

Remote Code Execution

Critical

None

Windows Server 2003 with SP2 for Itanium-based Systems

JScript 5.6
JScript 5.7**

Remote Code Execution

Critical

None

Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

JScript 5.7
JScript 5.8***

Remote Code Execution

Critical

None

Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2

JScript 5.7
JScript 5.8***

Remote Code Execution

Critical

None

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

JScript 5.7
JScript 5.8***

Remote Code Execution

Critical

None

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

JScript 5.7
JScript 5.8***

Remote Code Execution

Critical

None

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

JScript 5.7

Remote Code Execution

Critical

None

*Windows Server 2008 server core installation affected. For supported editions of Windows Server 2008, this update applies, with the same severity rating, whether or not Windows Server 2008 was installed using the Server Core installation option. For more information on this installation option, see Server Core. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008; see Compare Server Core Installation Options.

** On systems with Internet Explorer 7 installed.

*** On systems with Internet Explorer 8 installed.

Non-Affected Software
Operating System

Windows 7 for 32-bit Systems

Windows 7 for x64-based Systems

Windows Server 2008 R2 for x64-based Systems

Windows Server 2008 R2 for Itanium-based Systems
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

Where are the file information details?
Refer to the reference tables in the Security Update Deployment section for the location of the file information details.

What version of JScript is installed on my system?
The version of JScript on a system is dependent on the version of Internet Explorer that is installed on the system, and will change if a newer version of Microsoft Internet Explorer is installed. Internet Explorer 6 includes JScript 5.6, Internet Explorer 7 includes JScript 5.7, and Internet Explorer 8 includes JScript 5.8.

To determine which version of JScript is on your system:

  1. Open Windows Explorer.

  2. Navigate to the %systemroot%\system32 directory.

  3. Right click on jscript.dll, select Properties, and then click the Details tab.

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

I am using JScript 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. The file information in Microsoft Knowledge Base Article 971961 will apply to you.

I am using an older release 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

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 September bulletin summary. For more information, see Microsoft Exploitability Index.
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software JScript Remote Code Execution Vulnerability - CVE-2009-1920 Aggregate Severity Rating
JScript 5.1

JScript 5.1 on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical
JScript 5.6

JScript 5.6 on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows Server 2003 for x64-based Systems Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.6 on Windows Server 2003 for Itanium-based Systems Service Pack 2

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 Service Pack 2

Critical
Remote Code Execution

Critical
JScript 5.7

JScript 5.7** on Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.7** on Windows XP Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.7 on Windows XP Service Pack 3

Critical
Remote Code Execution

Critical

JScript 5.7** on Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.7** on Windows Server 2003 for x64-based Systems Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.7** on Windows Server 2003 for Itanium-based Systems Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.7 on Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.7 on Windows Vista for x64-based Systems, Windows Vista for x64-based Systems Service Pack 1, and Windows Vista for x64-based Systems Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.7 on Windows Server 2008 and Windows Server 2008 Service Pack 2*

Critical
Remote Code Execution

Critical

JScript 5.7 on Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Critical
Remote Code Execution

Critical

JScript 5.7 on Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

Critical
Remote Code Execution

Critical
JScript 5.8

JScript 5.8*** on Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.8*** on Windows XP Service Pack 2 and Windows XP Service Pack 3

Critical
Remote Code Execution

Critical

JScript 5.8*** on Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.8*** on Windows Server 2003 for x64-based Systems Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.8*** on Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.8*** on Windows Vista for x64-based Systems, Windows Vista for x64-based Systems Service Pack 1, and Windows Vista for x64-based Systems Service Pack 2

Critical
Remote Code Execution

Critical

JScript 5.8*** on Windows Server 2008 and Windows Server 2008 Service Pack 2*

Critical
Remote Code Execution

Critical

JScript 5.8*** on Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Critical
Remote Code Execution

Critical

*Windows Server 2008 server core installation affected. For supported editions of Windows Server 2008, this update applies, with the same severity rating, whether or not Windows Server 2008 was installed using the Server Core installation option. For more information on this installation option, see Server Core. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008; see Compare Server Core Installation Options.

** On systems with Internet Explorer 7 installed.

*** On systems with Internet Explorer 8 installed.
Top of sectionTop of section

JScript Remote Code Execution Vulnerability - CVE-2009-1920

A remote code execution vulnerability exists in the way that the JScript scripting engine processes scripts in Web pages. The vulnerability could allow remote code execution if a user opened a specially crafted file or visited a Web site that is running a 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-2009-1920.

Mitigating Factors for JScript Remote Code Execution Vulnerability - CVE-2009-1920

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:

By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 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 you have not added to the Internet Explorer Trusted sites zone. See the FAQ subsection of this vulnerability section for more information about Internet Explorer Enhanced Security Configuration.

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.

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 mitigate attacks that could try to exploit this vulnerability by preventing Active Scripting and ActiveX controls from being used when reading HTML e-mail messages. However, if a user clicks a link in an e-mail message, the user could still be vulnerable to exploitation of this vulnerability through the Web-based attack scenario.

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.
Top of sectionTop of section

Workarounds for JScript Remote Code Execution Vulnerability - CVE-2009-1920

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:

Set Internet and Local intranet security zone settings to "High" to prompt before running ActiveX Controls and Active Scripting in these zones

You can help protect against exploitation of this vulnerability by changing your settings for the Internet security zone to prompt before running ActiveX controls and Active Scripting. You can do this by setting your browser security to High.

To raise the browsing security level in Internet Explorer, follow these steps:

On the Internet Explorer Tools menu, click Internet Options.

In the Internet Options dialog box, click the Security tab, and then click the Internet icon.

Under Security level for this zone, move the slider to High. This sets the security level for all Web sites you visit to High.

Note If no slider is visible, click Default Level, and then move the slider to High.

Note Setting the level to High may cause some Web sites to work incorrectly. If you have difficulty using a Web site after you change this setting, and you are sure the site is safe to use, you can add that site to your list of trusted sites. This will allow the site to work correctly even with the security setting set to High.

Impact of workaround. There are side effects to prompting before running ActiveX Controls and Active Scripting. Many Web sites that are on the Internet or on an intranet use ActiveX or Active Scripting to provide additional functionality. For example, an online e-commerce site or banking site may use ActiveX Controls to provide menus, ordering forms, or even account statements. Prompting before running ActiveX Controls or Active Scripting is a global setting that affects all Internet and intranet sites. You will be prompted frequently when you enable this workaround. For each prompt, if you feel you trust the site that you are visiting, click Yes to run ActiveX Controls or Active Scripting. If you do not want to be prompted for all these sites, use the steps outlined in "Add sites that you trust to the Internet Explorer Trusted sites zone".

Add sites that you trust to the Internet Explorer Trusted sites zone

After you set Internet Explorer to require a prompt before it runs ActiveX controls and Active Scripting in the Internet zone and in the Local intranet zone, you can add sites that you trust to the Internet Explorer Trusted sites zone. This will allow you to continue to use trusted Web sites exactly as you do today, while helping to protect you from this attack on untrusted sites. We recommend that you add only sites that you trust to the Trusted sites zone.

To do this, follow these steps:

In Internet Explorer, click Tools, click Internet Options, and then click the Security tab.

In the Select a Web content zone to specify its current security settings box, click Trusted Sites, and then click Sites.

If you want to add sites that do not require an encrypted channel, click to clear the Require server verification (https:) for all sites in this zone check box.

In the Add this Web site to the zone box, type the URL of a site that you trust, and then click Add.

Repeat these steps for each site that you want to add to the zone.

Click OK two times to accept the changes and return to Internet Explorer.

Note Add any sites that you trust not to take malicious action on your system. Two in particular that you may want to add are *.windowsupdate.microsoft.com and *.update.microsoft.com. These are the sites that will host the update, and it requires an ActiveX Control to install the update.

Configure Internet Explorer to prompt before running Active Scripting or to disable Active Scripting in the Internet and Local intranet security zone

You can help protect against exploitation of this vulnerability by changing your settings to prompt before running Active Scripting or to disable Active Scripting in the Internet and Local intranet security zone. To do this, follow these steps:

In Internet Explorer, click Internet Options on the Tools menu.

Click the Security tab.

Click Internet, and then click Custom Level.

Under Settings, in the Scripting section, under Active Scripting, click Prompt or Disable, and then click OK.

Click Local intranet, and then click Custom Level.

Under Settings, in the Scripting section, under Active Scripting, click Prompt or Disable, and then click OK.

Click OK two times to return to Internet Explorer.

Note Disabling Active Scripting in the Internet and Local intranet security zones may cause some Web sites to work incorrectly. If you have difficulty using a Web site after you change this setting, and you are sure the site is safe to use, you can add that site to your list of trusted sites. This will allow the site to work correctly.

Impact of workaround. There are side effects to prompting before running Active Scripting. Many Web sites that are on the Internet or on an intranet use Active Scripting to provide additional functionality. For example, an online e-commerce site or banking site may use Active Scripting to provide menus, ordering forms, or even account statements. Prompting before running Active Scripting is a global setting that affects all Internet and intranet sites. You will be prompted frequently when you enable this workaround. For each prompt, if you feel you trust the site that you are visiting, click Yes to run Active Scripting. If you do not want to be prompted for all these sites, use the steps outlined in "Add sites that you trust to the Internet Explorer Trusted sites zone".

Add sites that you trust to the Internet Explorer Trusted sites zone

After you set Internet Explorer to require a prompt before it runs ActiveX controls and Active Scripting in the Internet zone and in the Local intranet zone, you can add sites that you trust to the Internet Explorer Trusted sites zone. This will allow you to continue to use trusted Web sites exactly as you do today, while helping to protect you from this attack on untrusted sites. We recommend that you add only sites that you trust to the Trusted sites zone.

To do this, follow these steps:

In Internet Explorer, click Tools, click Internet Options, and then click the Security tab.

In the Select a Web content zone to specify its current security settings box, click Trusted Sites, and then click Sites.

If you want to add sites that do not require an encrypted channel, click to clear the Require server verification (https:) for all sites in this zone check box.

In the Add this Web site to the zone box, type the URL of a site that you trust, and then click Add.

Repeat these steps for each site that you want to add to the zone.

Click OK two times to accept the changes and return to Internet Explorer.

Note Add any sites that you trust not to take malicious action on your system. Two in particular that you may want to add are *.windowsupdate.microsoft.com and *.update.microsoft.com. These are the sites that will host the update, and it requires an ActiveX Control to install the update.
Top of sectionTop of section

FAQ for JScript Remote Code Execution Vulnerability - CVE-2009-1920

What is the scope of the vulnerability?
A remote code execution vulnerability exists in the way that the JScript scripting engine processes scripts in Web pages. The vulnerability could allow remote code execution if a user opened a specially crafted file or visited a Web site that is running a 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.

What causes the vulnerability?
The vulnerability is caused by the way that the JScript scripting engine processes scripts in Web pages. When the JScript scripting engine attempts to load the decoded script into memory in order to run it, a memory corruption can occur that may either cause Internet Explorer to stop responding, or lead to code execution.

What is JScript?
JScript is an interpreted, object-based scripting language that is often used to make Web sites more flexible or interactive. JScript scripts can run only in the presence of an interpreter or host, such as Active Server Pages (ASP), Internet Explorer, or Windows Script Host. More specifically, JScript is the Microsoft implementation of the ECMA 262 language specification (ECMAScript Edition 3). For more information, see the MSDN Article JScript Fundamentals or visit the Web site ECMA International.

What might an attacker use the vulnerability to do?
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.

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, workstation or terminal server systems where Internet Explorer is used to browse Web pages are primarily at risk.

I am running Internet Explorer for Windows Server 2003 or Windows Server 2008. Does this mitigate this vulnerability?
Yes. By default, Internet Explorer on Windows Server 2003 and Windows Server 2008 runs in a restricted mode that is known as Enhanced Security Configuration. Enhanced Security Configuration is a group of preconfigured settings in Internet Explorer that can reduce the likelihood of a user or administrator downloading and running specially crafted Web content on a server. This is a mitigating factor for Web sites that you have not added to the Internet Explorer Trusted sites zone. See also Managing Internet Explorer Enhanced Security Configuration.

What does the update do?
This security update addresses the vulnerability by modifying the way that the JScript engine processes scripts in Web pages. The JScript scripting engine is located in the file JScript.dll.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure.

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:

Wushi of team509, working with Zero Day Initiative, for reporting the JScript Remote Code Execution Vulnerability (CVE-2009-1920)
Top of sectionTop of section
Microsoft Active Protections Program (MAPP)

To improve security protections for customers, Microsoft provides vulnerability information to major security software providers in advance of each monthly security update release. Security software providers can then use this vulnerability information to provide updated protections to customers via their security software or devices, such as antivirus, network-based intrusion detection systems, or host-based intrusion prevention systems. To determine whether active protections are available from security software providers, please visit the active protections Web sites provided by program partners, listed in Microsoft Active Protections Program (MAPP) Partners.

Support

Customers in the U.S. and Canada can receive technical support from Security Support or 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. For more information about available support options, see Microsoft Help and Support.

International customers can receive support from their local Microsoft subsidiaries. There is no charge for support that is associated with security updates. For more information about how to contact Microsoft for support issues, visit the International Support Web site.

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 (September 8, 2009): Bulletin published.