Vulnerability in HTML Help Could Allow Code Execution (MS04-023)
14 Jul. 2004
Summary
A remote code execution vulnerability exists in the processing of a specially crafted showHelp URL. The vulnerability could allow malicious code to run in the Local Machine security zone in Internet Explorer, which could allow an attacker to take complete control of an affected system.
A remote code execution vulnerability exists in HTML Help that could allow remote code execution on an affected system. If a user is logged on with administrative privileges, 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 privileges. Users whose accounts are configured to have fewer privileges on the system would be at less risk than users who operate with administrative privileges
Affected Software:
* Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Service Pack 3, Microsoft Windows 2000 Service Pack 4 - Download the update
* Microsoft Windows XP and Microsoft Windows XP Service Pack 1 - Download the update
* Microsoft Windows 98, Microsoft Windows 98 Second Edition (SE), and Microsoft Windows Millennium Edition (Me) - These products have reached the end of their life cycles as previously documented, any updates are available at: Microsoft Windows Update
Tested Microsoft Windows Components: Affected Components:
* Internet Explorer 6.0 Service Pack 1 when installed on Windows NT 4.0 SP6a (Workstation, Server, or Terminal Server Edition) - Download the update
Non-Affected Software:
* Microsoft Windows NT Workstation 4.0 Service Pack 6a
* Microsoft Windows NT Server 4.0 Service Pack 6a
* Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6
Mitigating Factors for showHelp Vulnerability:
* To exploit this vulnerability an attacker would have to use a specially crafted file that is at a known location on the target system.
* 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 malicious Web site. Instead, an attacker would have to persuade them to visit the Web site, typically by getting them to click a link that takes them to the attacker's 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 privileges as the user. Users whose accounts are configured to have fewer privileges on the system would be at less risk than users who operate with administrative privileges.
* By default, Outlook Express 6, Outlook 2002, and Outlook 2003 open HTML e-mail messages in the Restricted sites zone. Additionally, Outlook 98 and Outlook 2000 open HTML e-mail messages in the Restricted sites zone if the Outlook E-mail Security Update has been installed. The Restricted sites zone helps reduce attacks that could attempt to exploit this vulnerability.
The risk of attack from the HTML e-mail vector can be significantly reduced if you meet all the following conditions:
* Apply the update that is included with Microsoft Security Bulletin MS03-040 or a later Cumulative Security Update for Internet Explorer.
* Use Internet Explorer 6 or later.
* Use the Microsoft Outlook E-mail Security Update, use Microsoft Outlook Express 6 or later, or use Microsoft Outlook 2000 Service Pack 2 or later in its default configuration.
Workarounds for showHelp Vulnerability:
Microsoft has tested the following workarounds. While these workarounds will not correct the underlying vulnerability, they help block known attack vectors. When a workaround reduces functionality, it is identified below.
* Strengthen the security settings for the Local Machine zone in Internet Explorer
Because this vulnerability permits an attacker to run HTML code in the Local Machine security zone, users can reduce the impact of this vulnerability by restricting the default settings in this zone. For more information about these settings, and for more information about the potential impacts of changing these default settings, see Microsoft Knowledge Base Article 833633.
Warning: Microsoft recommends that customers consider these changes to Internet Explorer security settings as a last resort only. If you make these changes, you may lose some functionality for some Windows programs and components. Before you make these changes in a production environment, test the changes extensively to verify that mission-critical programs continue to work correctly for all users.
* Unregister HTML Help
To unregister the HTML Help protocol, follow these steps:
1. Cick Start, click Run, type "regsvr32 /u %windir%\system32\itss.dll" (without the quotation marks), and then click OK. Note On Windows 98 and Windows Me, replace "system32" with "system" in this command.
2. A dialog box appears to confirm that the unregistration process has succeeded. Click OK to close the dialog box.
Impact of Workaround: All HTML Help functionality will be unavailable. This will affect the online Help in Windows or any application that uses HTML Help functionality.
* Read e-mail messages in plain text format if you are using Outlook 2002 or later, or Outlook Express 6 SP1 or later, to help protect yourself from the HTML e-mail attack vector.
Microsoft Outlook 2002 users who have applied Office XP Service Pack 1 or later and Microsoft Outlook Express 6 users who have applied Internet Explorer 6 Service Pack 1 can enable this setting and view e-mail messages that are not digitally signed or e-mail messages that are not encrypted in plain text only.
Digitally signed e-mail messages or encrypted e-mail messages are not affected by the setting and may be read in their original formats. For more information about enabling this setting in Outlook 2002, see Microsoft Knowledge Base Article 307594.
For information about this setting in Outlook Express 6, see Microsoft Knowledge Base Article 291387.
* Impact of Workaround: E-mail messages that are viewed in plain text format will not contain pictures, specialized fonts, animations, or other rich content. In addition:
* The changes are applied to the preview pane and to open messages.
* Pictures become attachments so that they are not lost.
* Because the message is still in Rich Text or HTML format in the store, the object model (custom code solutions) may behave unexpectedly.
FAQ for showHelp Vulnerability: What is the scope of the vulnerability?
This is a remote code execution vulnerability. If a user is logged on with administrative privileges, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; viewing, changing, or deleting data; or creating new accounts with full privileges. Users whose accounts are configured to have fewer privileges on the system would be at less risk than users who operate with administrative privileges. In order to exploit this vulnerability an attacker would have to make use of a specially crafted file that is at a known location on the target system.
What causes the vulnerability?
The HTML Help protocol does not correctly validate .chm files.
What is the HTML protocol?
The HTML protocol is used to open compiled HTML Help files. For more information about this protocol, visit the following Web site.
What is HTML Help?
Microsoft HTML Help is the standard help system for the Windows platform. Authors can use HTML Help to create online Help files for a software application or to create content for a multimedia title or for a Web site. For more information about how to create online Help files, visit the following Web site.
What is showHelp?
The showHelp method is used to display an HTML page that contains help content. For more information about the showHelp method, visit the following Web site.
What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could run malicious code in the Local Machine security zone in Internet Explorer. By running malicious code in the Local Machine zone, an attacker could gain complete control over an affected system. An attacker could take any action on the system, including installing programs, viewing data, changing data, deleting data, or creating new accounts that have full administrative credentials. For more information about URL security zones, visit the following Web site.
What are Internet Explorer security zones?
Internet Explorer security zones are part of a system that divides online content into categories or zones that are based on the trustworthiness of the content. Specific Web domains can be assigned to a zone, depending on how much trust is placed in the content of each domain. The zone then restricts the capabilities of the Web content, based on the zone's policy. By default, most Internet domains are treated as part of the Internet zone. By default, the policy of the Internet zone prevents scripts and other active code from accessing resources on the local system.
Who could exploit the vulnerability?
Any anonymous user could attempt to exploit this vulnerability.
How could an attacker exploit the vulnerability?
An attacker would have to host a Web site and then persuade a user to view that Web site.
An attacker could also create an HTML e-mail message that contains a specially crafted link, and then persuade a user to view the HTML e-mail message and then click the link.
What systems are primarily at risk from the vulnerability?
Any system where Internet Explorer and mail clients are actively used is primarily at risk from this vulnerability.
Are Windows 98, Windows 98 Second Edition or Windows Millennium Edition critically affected by this vulnerability?
No. Although Windows 98, Windows 98 Second Edition and Windows Millennium Edition do contain the affected component, the vulnerability is not critical. For more information about severity ratings, visit the following Web site.
Could the vulnerability be exploited over the Internet?
Yes. An attacker may be able to exploit this vulnerability over the Internet.
What does the update do?
The update removes the vulnerability by making sure that the HTML Help protocol only opens valid .chm files.
When this security bulletin was issued, had this vulnerability been publicly disclosed?
Yes. This vulnerability has been publicly disclosed. It has been assigned Common Vulnerability and Exposure number CAN-2003-1041.
When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. When the security bulletin was released, Microsoft had received information that this vulnerability was being exploited.
Does applying this security update help protect customers from the code that has been published publicly that attempts to exploit this vulnerability?
Yes. This security update addresses the vulnerability that is currently being exploited. The vulnerability that has been addressed has been assigned the Common Vulnerability and Exposure number CAN-2003-1041.
Mitigating Factors for HTML Help Vulnerability:
* 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 malicious Web site. Instead, an attacker would have to persuade them to visit the Web site, typically by getting them to click a link that takes them to the attacker's site.
* An attacker who successfully exploited this vulnerability could gain the same privileges as the user. Users whose accounts are configured to have fewer privileges on the system would be at less risk than users who operate with administrative privileges.
Workarounds for HTML Help Vulnerability:
Microsoft has tested the following workarounds. While these workarounds will not correct the underlying vulnerability, they help block known attack vectors. When a workaround reduces functionality, it is identified below.
* Unregister HTML Help
To unregister the HTML Help protocol, follow these steps:
1. Click Start, click Run, type "regsvr32 /u %windir%\system32\itss.dll" (without the quotation marks), and then click OK.
Note On Windows 98 and Windows Me, replace "system32" with "system" in this command.
2. A dialog box appears to confirm that the unregistration process has succeeded. Click OK to close the dialog box. Impact of Workaround: All HTML Help functionality will be unavailable. This will affect the online Help in Windows or in any application that use HTML Help functionality.
* Read e-mail messages in plain text format if you are using Outlook 2002 or later, or Outlook Express 6 SP1 or later, to help protect yourself from the HTML e-mail attack vector.
Microsoft Outlook 2002 users who have applied Office XP Service Pack 1 or later and Microsoft Outlook Express 6 users who have applied Internet Explorer 6 Service Pack 1 can enable this setting and view e-mail messages that are not digitally signed or e-mail messages that are not encrypted in plain text only.
Digitally signed e-mail messages or encrypted e-mail messages are not affected by the setting and may be read in their original formats. For more information about enabling this setting in Outlook 2002, see Microsoft Knowledge Base Article 307594.
For information about this setting in Outlook Express 6, see Microsoft Knowledge Base Article 291387.
Impact of Workaround: E-mail messages that are viewed in plain text format will not contain pictures, specialized fonts, animations, or other rich content. In addition:
The changes are applied to the preview pane and to open messages.
Pictures become attachments so that they are not lost.
Because the message is still in Rich Text or HTML format in the store, the object model (custom code solutions) may behave unexpectedly.
FAQ for HTML Help Vulnerability: What is the scope of the vulnerability?
This is a remote code execution vulnerability. If a user is logged on with administrative privileges, 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 privileges. Users whose accounts are configured to have fewer privileges on the system would be at less risk than users who operate with administrative privileges.
What causes the vulnerability?
The vulnerability occurs because HTML Help does not completely validate input data.
What is HTML Help?
Microsoft HTML Help is the standard help system for the Windows platform. Authors can use HTML Help to create online Help files for a software application or to create content for a multimedia title or for a Web site. For more information about how to create online Help files, visit the following Web site.
What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could gain the same privileges as the user. Users whose accounts are configured to have fewer privileges on the system would be at less risk than users who operate with administrative privileges.
Who could exploit the vulnerability?
Any anonymous user could attempt to exploit this vulnerability.
How could an attacker exploit the vulnerability?
To exploit this vulnerability, an attacker would have to host a malicious Web site and then persuade a user to view that Web site. An attacker could also create an HTML e-mail message that contains a specially crafted link, and then persuade a user to view the HTML e-mail message and then click the link.
What systems are primarily at risk from the vulnerability?
Any system where Internet Explorer and mail clients are actively used is primarily at risk from this vulnerability.
Are Windows 98, Windows 98 Second Edition or Windows Millennium Edition critically affected by this vulnerability?
Yes. Updates will be made available as soon as possible following the release. When these security updates are available, you will be able to download them only from the Windows Update Web site
Could the vulnerability be exploited over the Internet?
Yes. An attacker may be able to exploit this vulnerability over the Internet.
What does the update do?
The update removes the vulnerability by modifying the way that HTML Help validates the contents of a Help file.
How does this vulnerability relate to the Help and SupportCenter issues that are addressed by MS04-011 and MS04-015?
They are not related. Both the previous vulnerabilities were in the Help and Support Center. However, this update corrects a new vulnerability in HTML Help.
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 indicating 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.