Microsoft Security Bulletin MS08-008 – Critical Vulnerability in OLE Automation Could Allow Remote Code Execution (947890)

2008-02-12T00:00:00
ID SECURITYVULNS:DOC:19092
Type securityvulns
Reporter Securityvulns
Modified 2008-02-12T00:00:00

Description

Microsoft Security Bulletin MS08-008 – Critical Vulnerability in OLE Automation Could Allow Remote Code Execution (947890) Published: February 12, 2008

Version: 1.0 General Information Executive Summary

This critical security update resolves a privately reported vulnerability. This vulnerability could allow remote code execution if a user viewed a specially crafted Web page. The vulnerability could be exploited through attacks on Object Linking and Embedding (OLE) Automation. 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 is a critical security update for all supported editions of Microsoft Windows 2000, Windows XP, Windows Vista, Microsoft Office 2004 for Mac, and Visual Basic 6. For other affected editions of Windows, this update is rated moderate. For more information, see the subsection, Affected and Non-Affected Software, in this section.

This security update addresses the vulnerability by adding a check on memory requests within OLE Automation. 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 Software Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by This Update

Windows 2000 Service Pack 4 (KB943055)

Remote Code Execution

Critical

MS07-043

Windows XP Service Pack 2 (KB943055)

Remote Code Execution

Critical

MS07-043

Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2 (KB943055)

Remote Code Execution

Critical

MS07-043

Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2 (KB943055)

Remote Code Execution

Moderate

MS07-043

Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2 (KB943055)

Remote Code Execution

Moderate

MS07-043

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

Remote Code Execution

Moderate

MS07-043

Windows Vista (KB943055)

Remote Code Execution

Critical

None

Windows Vista x64 Edition (KB943055)

Remote Code Execution

Critical

None

Microsoft Office 2004 for Mac (KB948056)

Remote Code Execution

Critical

None

Microsoft Visual Basic 6.0 Service Pack 6 (KB946235)

Remote Code Execution

Critical

None

Non-Affected Software Operating System

Windows Vista Service Pack 1 (all editions)

Windows Server 2008 (all editions)

Microsoft Office 2008 for Mac Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

I am a third-party application developer and I use OLE Automation in my application. Is my application vulnerable and how do I update it? Visual Basic 6.0 is the only development platform affected by this security update. This bulletin provides a link to download an update for Visual Basic 6.0 Service Pack 6. Developers that use the VB6 Package and Deployment Wizard to redistribute oleaut32.dll should ensure that they update the version of oleaut32.dll installed with their application by downloading the Visual Basic 6.0 update provided in this bulletin. Developers are encouraged to follow recommended best practices for using a shared component. For more information on best practices on shared component use, please see the Microsoft Knowledge Base Article 835322 on Isolated Applications.

I am developing software which contains the redistributable file oleaut32.dll from Visual Basic6.0. What do I do? You should install the security update included in this security bulletin for Visual Basic 6.0. If you have redistributed oleaut32.dll with your application, you should issue an updated version of your application to your customers with the updated version of this file included in Visual Basic 6.0 download of this security update.

If third-party applications use or install the affected OLE component, could I still be vulnerable even after I have installed all required Microsoft security updates? No, this security update replaces and re-registers the affected OLE component provided with the operating system. If third party applications follow the recommended best practices for using a shared component as a side by side assembly then they are also not affected. Customers are potentially at risk if third party applications do not follow the recommended best practices and instead redistribute a version of oleaut32.dll with their application. Microsoft Knowledge Base Article 921503 also contains instructions for customers that wish to manually check for the registered affected OLE component. Customers are encouraged to contact their third party solutions developer for addition information.

I am using an older edition of the software discussed in this security bulletin. What should I do? The affected software listed in this bulletin has been tested to determine which editions are affected. Other editions are past their support life cycle. To determine the support life cycle for your product and edition, visit Microsoft Support Lifecycle.

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

Customers who require custom support for older software 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 the Microsoft Worldwide Information Web site, 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 OLE Heap Overrun Vulnerability - CVE-2007-0065 Aggregate Severity Rating

Windows 2000 Service Pack 4

Critical

Remote Code Execution

Critical

Windows XP Service Pack 2

Critical

Remote Code Execution

Critical

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

Critical

Remote Code Execution

Critical

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

Moderate

Remote Code Execution

Moderate

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

Moderate

Remote Code Execution

Moderate

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

Moderate

Remote Code Execution

Moderate

Windows Vista

Critical

Remote Code Execution

Critical

Windows Vista x64 Edition

Critical

Remote Code Execution

Critical

Microsoft Office 2004 for Mac

Critical

Remote Code Execution

Critical

Microsoft Visual Basic 6.0 Service Pack 6

Critical

Remote Code Execution

Critical Top of sectionTop of section

OLE Heap Overrun Vulnerability - CVE-2007-0065

A remote code execution vulnerability exists in Object Linking and Embedding (OLE) Automation that could allow an attacker who successfully exploited this vulnerability to make changes to the system with the permissions of the logged-on user. If a user is logged on with administrative user rights, an attacker could take complete control of the 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-2007-0065.

Mitigating Factors for OLE Heap Overrun Vulnerability - CVE-2007-0065

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: •

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, Web sites that accept or host user-provided content, or compromised Web sites and advertisement servers could contain specially crafted content that could exploit this vulnerability. An attacker would have to persuade 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. •

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. •

By default, all supported editions of Microsoft Outlook and Microsoft Outlook Express open HTML e-mail messages in the Restricted sites zone. The Restricted sites zone helps reduce the number of successful attacks that 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. •

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 OLE Heap Overrun Vulnerability - CVE-2007-0065

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: •

Disable attempts to instantiate the Microsoft Forms 2.0 ImageActiveX Control in Internet Explorer

You can disable attempts to instantiate a COM object in Internet Explorer by setting the kill bit for the control in the registry.

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use the 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.

Note We recommend backing up the registry before you edit it.

For detailed steps that you can use to prevent a control from running in Internet Explorer, see Microsoft Knowledge Base Article 240797. Follow these steps in this article to create a Compatibility Flags value in the registry to prevent a COM object from being instantiated in Internet Explorer.

To set the kill bit for the Microsoft Forms 2.0 Image ActiveX Control, paste the following text in a text editor such as Notepad. Then, save the file by using the .reg file name extension.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{4C599241-6926-101B-9992-00000B65C6F9}] "Compatibility Flags"=dword:00000400

You can apply this .reg file to individual systems by double-clicking it. You can also apply it across domains by using Group Policy. For more information about Group Policy, visit the following Microsoft Web sites: •

Step-by-Step Guide to Understanding the Group Policy Feature Set •

Windows 2000 Group Policy •

Group Policy in Windows Server 2003

Note You must restart Internet Explorer for your changes to take effect. •

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

1.

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

2.

Click the Security tab.

3.

Click Internet, and then click Custom Level.

4.

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

5.

Click Local intranet, and then click Custom Level.

6.

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

7.

Click OK two times to return to Internet Explorer.

Impact of Workaround: 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.

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: •

Tools, click Internet Options, and then click the Security tab. •

Require server verification (https:) for all sites in this zone check box. •

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

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. •

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 this vulnerability by changing your settings for the Internet security zone to prompt before running ActiveX controls. You can do this by setting your browser security to High.

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

1.

Tools menu, click Internet Options.

2.

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

3.

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. Many Web sites that are on the Internet or on an intranet use ActiveX 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 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. 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”. Top of sectionTop of section

FAQ for OLE Heap Overrun Vulnerability - CVE-2007-0065

What is the scope of the vulnerability? This is a remote code execution vulnerability. A remote, anonymous attacker who successfully exploited this vulnerability could run arbitrary code in the context of the logged on user.

What causes the vulnerability? Specially crafted script requests may cause memory corruption when using OLE Automation.

What is OLE Automation? Object linking and embedding (OLE) Automation is a Windows protocol that allows an application to share data or control another application. OLE Automation is an industry standard that applications use to expose their OLE objects to development tools, macro languages, and other containers that support OLE Automation.

What might an attacker use the vulnerability to do? An attacker who successfully exploited this vulnerability could make changes to the system with the permissions of the logged-on user. If a user is logged on with administrative user rights, an attacker could take complete control of the 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 through Internet Explorer and then persuade a user to view the Web site. This can also include Web sites that accept user-provided content or advertisements, Web sites that host user-provided content or advertisements, and compromised Web sites. These Web sites 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 persuade users to visit the Web site, typically by getting them to click a link in an e-mail message or in an Instant Messenger request 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?
This vulnerability requires that a user is logged on and visits a Web site for any malicious action to occur. Therefore, any systems where Internet Explorer is used frequently, such as workstations or terminal servers, are at the most risk from this vulnerability.

What does the update do? The update removes the vulnerability by validating the memory request within OLE Automation.

I am running Internet Explorer for Windows Server 2003. Does this mitigate this vulnerability? Yes. By default, Internet Explorer for Windows Server 2003 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 malicious 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.

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: •

Ryan Smith and Alex Wheeler of IBM ISS X-Force for reporting the OLE Heap Overrun Vulnerability (CVE-2007-0065).

Support •

Customers in the U.S. and Canada can receive technical support from Microsoft Product Support Services at 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. •

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 (February 12, 2008): Bulletin published.