Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:16963
HistoryMay 08, 2007 - 12:00 a.m.

Microsoft Security Bulletin MS07-028 Vulnerability in CAPICOM Could Allow Remote Code Execution (931906)

2007-05-0800:00:00
vulners.com
66

Microsoft Security Bulletin MS07-028
Vulnerability in CAPICOM Could Allow Remote Code Execution (931906)
Published: May 8, 2007

Version: 1.0
Summary

Who Should Read this Document: Customers who use CAPICOM or BizTalk 2004

Impact of Vulnerability: Remote Code Execution

Maximum Severity Rating: Critical

Recommendation: Customers should apply the update immediately

Security Update Replacement: None

Caveats: None

Tested Software and Security Update Download Locations:

Affected Software:

CAPICOM — Download the update

Platform SDK Redistributable: CAPICOM — Download the update

BizTalk Server 2004 Service Pack 1 — Download the update

BizTalk Server 2004 Service Pack 2 — Download the update

Non-Affected Software:

BizTalk Server 2000

BizTalk Server 2002

BizTalk Server 2006

The software in this list has been tested to determine whether the versions are affected. Other versions are either past their support life cycle or are not affected. To determine the support life cycle for your product and version, visit the Microsoft Support Lifecycle Web site.
Top of sectionTop of section
General Information

Executive Summary

Executive Summary:

This update resolves a newly discovered, privately reported vulnerability. The vulnerability is documented in its own subsection in the Vulnerability Details section of this bulletin.

We recommend that customers apply the update immediately.

Severity Ratings and Vulnerability Identifiers:
Vulnerability Identifiers Impact of Vulnerability CAPICOM Microsoft BizTalk Server 2004

CAPICOM.Certificates Vulnerability - CVE-2007-0940

Remote Code Execution

Critical

Critical

This assessment is based on the types of systems that are affected by the vulnerability, their typical deployment patterns, and the effect that exploiting the vulnerability would have on them.
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

What updates does this release replace?
This security update does not replace any prior security update.

Can I use the Microsoft Baseline Security Analyzer (MBSA) to determine whether this update is required?
The following table provides the MBSA detection summary for this security update.
Product MBSA 1.2.1 EST MBSA 2.0.1

CAPICOM

No

Yes

Yes

BizTalk Server 2004

No

Yes

Yes

For more information about MBSA, visit the MBSA Web site. For more information about the software that Microsoft Update and MBSA 2.0 currently do not detect, see Microsoft Knowledge Base Article 895660.

For more detailed information, see Microsoft Knowledge Base Article 910723: Summary list of monthly detection and deployment guidance articles.

What is the Enterprise Update Scan Tool (EST)?
As part of an ongoing commitment to provide detection tools for bulletin-class security updates, Microsoft delivers a stand-alone detection tool whenever Microsoft Baseline Security Analyzer 1.2.1 and the Office Detection Tool (ODT) cannot detect whether the update is required for an MSRC release cycle. This stand-alone tool is called the Enterprise Update Scan Tool (EST) and is designed for enterprise administrators. When a version of the Enterprise Update Scan Tool is created for a specific bulletin, customers can run the tool from a command-line interface (CLI) and view the results of the XML output file. To help customers better utilize the tool, detailed documentation will be provided with the tool. There is also a version of the tool that offers an integrated experience for SMS administrators.

Can I use a version of the Enterprise Update Scan Tool (EST) to determine whether this update is required?
Yes. Microsoft has created a version of EST that will determine if you have to apply this update. For download links and more information about the version of EST that is being released this month, see Microsoft Knowledge Base Article 894193. SMS customers should review the following FAQ, “Can I use Systems Management Server (SMS) to determine whether this update is required?" for more information about SMS and EST.

Can I use Systems Management Server (SMS) to determine whether this update is required?
The following table provides the SMS detection summary for this security update.
Product SMS 2.0 SMS 2003

CAPICOM

Yes (With EST)

Yes

BizTalk Server 2004

Yes (With EST)

Yes

SMS 2.0 and SMS 2003 Software Update Services (SUS) Feature Pack can use MBSA 1.2.1 for detection and therefore have the same limitation that is listed earlier in this bulletin related to programs that MBSA 1.2.1 does not detect.

For SMS 2.0, the SMS SUS Feature Pack, which includes the Security Update Inventory Tool (SUIT), can be used by SMS to detect security updates. SMS SUIT uses the MBSA 1.2.1 engine for detection. For more information about SUIT, visit the following Microsoft Web site. For more information about the limitations of SUIT, see Microsoft Knowledge Base Article 306460. The SMS SUS Feature Pack also includes the Microsoft Office Inventory Tool to detect required updates for Microsoft Office applications.

For SMS 2003, the SMS 2003 Inventory Tool for Microsoft Updates (ITMU) can be used by SMS to detect security updates that are offered by Microsoft Update and that are supported by Windows Server Update Services. For more information about the SMS 2003 ITMU, visit the following Microsoft Web site. SMS 2003 can also use the Microsoft Office Inventory Tool to detect required updates for Microsoft Office applications.

For more information about SMS, visit the SMS Web site.

For more detailed information, see Microsoft Knowledge Base Article 910723: Summary list of monthly detection and deployment guidance articles.

Can I use SMS to determine if other programs are installed that have to be updated?
Yes. SMS can help detect if there are other programs installed that may have installed a version of the vulnerable component. SMS can search for the existence of the file CAPICOM.dll. Update all versions of CAPICOM.dll that are earlier than version 2.1.0.2.
Top of sectionTop of section

Vulnerability Details

CAPICOM.Certificates Vulnerability - CVE-2007-0940:

A remote code execution vulnerability exists in Cryptographic API Component Object Model (CAPICOM) that could allow an attacker who successfully exploited this vulnerability to take complete control of the affected system.

Mitigating Factors for CAPICOM.Certificates Vulnerability - CVE-2007-0940:

In a Web-based attack scenario, an attacker would have to host a Web site that contains a Web page that is used to exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link that takes them to the attacker's Web site. After they click the link, they would be prompted to perform several actions. An attack could only occur after they performed these actions.

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

By default, this ActiveX control is not included in the default allow-list for ActiveX controls in Internet Explorer 7. Only customers who have explicitly approved this control by using the ActiveX opt-in feature are at risk to attempts to exploit this vulnerability. However, if a customer has used this ActiveX control in a previous version of Internet Explorer, then this ActiveX control is enabled to work in Internet Explorer 7, even if the customer has not explicitly approved it using the ActiveX opt-in feature.
Top of sectionTop of section

Workarounds for the CAPICOM.Certificates Vulnerability - CVE-2007-0940:

Microsoft has tested the following workarounds. Although these workarounds will not correct the underlying vulnerability, they help block known attack vectors. When a workaround reduces functionality, it is identified in the following section.

Disable attempts to instantiate the CAPICOM control in Internet Explorer

You can disable attempts to instantiate this ActiveX control 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 Registry Editor at your own risk.

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 CLSIDs with the value of:

{17E3A1C3-EA8A-4970-AF29-7F54610B1D4C}

{FBAB033B-CDD0-4C5E-81AB-AEA575CD1338}

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\{17E3A1C3-EA8A-4970-AF29-7F54610B1D4C}]

"Compatibility Flags"=dword:00000400

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{FBAB033B-CDD0-4C5E-81AB-AEA575CD1338}]

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

Group Policy collection

What is Group Policy Object Editor?

Core Group Policy tools and settings

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

Impact of Workaround: The CAPICOM control may no longer display or function correctly.

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

You can help protect against this vulnerability by changing your Internet Explorer settings to prompt before running ActiveX controls. 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 ActiveX controls and plug-ins section, under Run ActiveX controls and plug-ins, click Prompt or Disable, and then click OK.

Click Local intranet, and then click Custom Level.

Under Settings, in the ActiveX controls and plug-ins section, under Run ActiveX controls and plug-ins, click Prompt or Disable, and then click OK.

Click OK two times to return to Internet Explorer.

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

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 computer. Two in particular that you may want to add are ".windowsupdate.microsoft.com" and “.update.microsoft.com” (without the quotation marks). 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:

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

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 computer. Two in particular that you may want to add are ".windowsupdate.microsoft.com" and “.update.microsoft.com” (without the quotation marks). 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 CAPICOM.Certificates Vulnerability - CVE-2007-0940:

What is the scope of the vulnerability?
This is a remote code execution vulnerability. An attacker who successfully exploited this vulnerability could remotely 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 way that the CAPICOM Certificates class handles certain inputs causes the vulnerability. The ActiveX control could, if passed unexpected data, fail in such a way that could allow remote code execution.

What is CAPICOM.Certificates?
CAPICOM.Certificates is an ActiveX control that provides scripters (VBS, ASP, ASP.NET etc.) with a method for encrypting data based on secure underlying Windows CryptoAPI functionality. The CAPICOM Suite is also available for download as Platform SDK Redistributable: CAPICOM and is also part of the Windows Platform SDK and the Windows Driver Kit.

What if I develop applications or software and redistribute CAPICOM?
You need to download the latest version of the Platform SDK Redistributable: CAPICOM. This new version contains the updated CAPICOM.dll that is associated with this security update.

How do I know if I have CAPICOM.Certificates installed and registered?
You can verify whether you have CAPICOM installed by searching on your system for CAPICOM.dll. If you have version 2.1.01 or lower, you should update your system.

You can verify whether you have any combination of the following registry keys to verify whether you have a vulnerable version of the CAPICOM.Certificates ActiveX control registered on your system:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CAPICOM.Certificates.1\CLSID

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CAPICOM.Certificates.2\CLSID

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CAPICOM.Certificates.3\CLSID

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability 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.

Why is the old version of CAPICOM.dll still on the system after installing this security update?
Users may have installed CAPICOM.dll from a source other than Microsoft. CAPICOM.dll may have been installed by a non-Microsoft product. Since the security update cannot determine where the previous CAPICOM.dll version originated, it is left on the system for application compatibility. The previous version does not leave your system vulnerable to this vulnerability.

Who could exploit the vulnerability?
In a Web-based attack scenario, an attacker would have to host a Web site containing a Web page used in the attempt to exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link that takes them to the attacker's site.

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 that have CAPICOM Certificates installed and registered where Internet Explorer is used frequently, such as workstations or terminal servers, are at the most risk from this vulnerability.

I am running Internet Explorer 7. Does this mitigate this vulnerability?
Yes. Customers who are running Internet Explorer 7 with default settings are not at risk until the CAPICOM Certificates control has been activated through the ActiveX opt-in feature in the Internet Zone. However, if a customer has used this ActiveX control in a previous version of Internet Explorer, then this ActiveX control is enabled to work in Internet Explorer 7, even if the customer has not explicitly approved it using the ActiveX opt-in feature.

What is the ActiveX opt-in feature in Internet Explorer 7?
Internet Explorer 7 includes an ActiveX opt-in feature, which means that nearly all pre-installed ActiveX controls are off by default. Users are prompted by the Information Bar before they can access a previously installed ActiveX Control that has not yet been used on the Internet. This enables a user to permit or deny access on a control-by-control basis. For more information about this and other new features, see the Windows Internet Explorer 7 features page.

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. See the FAQ section of this security update for more information about Internet Explorer Enhanced Security Configuration.

What is 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 administrator downloading and running malicious Web content on a server. Internet Explorer Enhanced Security Configuration reduces this threat by modifying numerous security-related settings, including Security and Advanced tab settings in Internet Options. Some of the key modifications include:

Security level for the Internet zone is set to High. This setting disables scripts, ActiveX components, Microsoft virtual machine (Microsoft VM) HTML content, 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, please consult the Managing Internet Explorer Enhanced Security Configuration guide, which can be found at the following Web site.

What does the update do?
The update removes the vulnerability by modifying the way that the CAPICOM.Certificates ActiveX control performs parameter validation. It also addresses additional issues discovered through internal investigations.

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.

Acknowledgments

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

Chris Ries of VigilantMinds Inc. for reporting the CAPICOM.Certificates Vulnerability (CVE-2007-0940)

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

Related for SECURITYVULNS:DOC:16963