Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:17445
HistoryJul 10, 2007 - 12:00 a.m.

Microsoft Security Bulletin MS07-040 - Critical Vulnerabilities in .NET Framework Could Allow Remote Code Execution (931212)

2007-07-1000:00:00
vulners.com
49

Microsoft Security Bulletin MS07-040 - Critical
Vulnerabilities in .NET Framework Could Allow Remote Code Execution (931212)
Published: July 10, 2007

Version: 1.0
General Information
Executive Summary

This update resolves three privately reported vulnerabilities. Two of these vulnerabilities could allow remote code execution on client systems with .NET Framework installed, and one could allow information disclosure on Web servers running ASP.NET. In all remote code execution cases, 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 addresses two vulnerabilities by modifying the way .NET Framework addresses buffer allocation. For more information about the vulnerabilities, 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: Microsoft Knowledge Base Article 931212 documents the currently known issues that customers may experience when they install this security update. The article also documents recommended solutions for these issues.
Top of sectionTop of section
Affected and Non-Affected Software

In the following tables of affected and non-affected software, software versions that are not listed are past their support lifecycle. To determine the support lifecycle for your product and version, visit Microsoft Support Lifecycle.

Affected Software
Operating System Component Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by This Update
Microsoft .NET Framework 1.0

Windows 2000 Service Pack 4

Microsoft .NET Framework 1.0
(KB928367)

Remote Code Execution

Critical

MS05-004

Windows XP Service Pack 2

Microsoft .NET Framework 1.0
(KB928367)

Remote Code Execution

Critical

MS05-004

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

Microsoft .NET Framework 1.0
(KB928367)

Remote Code Execution

Critical

MS05-004

Windows XP Tablet PC Edition 2005 and Windows XP Media Center Edition 2005

Microsoft .NET Framework 1.0
(KB930494)

Remote Code Execution

Critical

MS05-004

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

Microsoft .NET Framework 1.0
(KB928367)

Remote Code Execution

Important

MS05-004

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

Microsoft .NET Framework 1.0
(KB928367)

Remote Code Execution

Important

MS05-004

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

Microsoft .NET Framework 1.0
(KB928367)

Remote Code Execution

Important

MS05-004

Windows Vista

Microsoft .NET Framework 1.0
(KB928367)

Remote Code Execution

Important

MS05-004
Microsoft .NET Framework 1.1

Windows 2000 Service Pack 4

Microsoft .NET Framework 1.1
(KB928366)

Remote Code Execution

Critical

MS05-004

Windows XP Service Pack 2

Microsoft .NET Framework 1.1
(KB928366)

Remote Code Execution

Critical

MS05-004

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

Microsoft .NET Framework 1.1
(KB928366)

Remote Code Execution

Critical

MS05-004

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

Microsoft .NET Framework 1.1
(KB933854)

Remote Code Execution

Important

MS05-004

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

Microsoft .NET Framework 1.1
(KB928366)

Remote Code Execution

Important

MS05-004

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

Microsoft .NET Framework 1.1
(KB928366)

Remote Code Execution

Important

MS05-004

Windows Vista

Microsoft .NET Framework 1.1
(KB929729)

Remote Code Execution

Important

MS05-004

Windows Vista x64 Edition

Microsoft .NET Framework 1.1
(KB929729)

Remote Code Execution

Important

MS05-004
Microsoft .NET Framework 2.0

Windows 2000 Service Pack 4

Microsoft .NET Framework 2.0
(KB928365)

Remote Code Execution

Critical

None

Windows XP Service Pack 2

Microsoft .NET Framework 2.0
(KB928365)

Remote Code Execution

Critical

None

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

Microsoft .NET Framework 2.0
(KB928365)

Remote Code Execution

Critical

None

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

Microsoft .NET Framework 2.0
(KB928365)

Remote Code Execution

Important

None

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

Microsoft .NET Framework 2.0
(KB928365)

Remote Code Execution

Important

None

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

Microsoft .NET Framework 2.0
(KB928365)

Remote Code Execution

Important

None

Windows Vista

Microsoft .NET Framework 2.0
(KB929916)

Remote Code Execution

Important

None

Windows Vista x64 Edition

Microsoft .NET Framework 2.0
(KB929916)

Remote Code Execution

Important

None

Non-Affected Software
Operating System Component

Windows XP Service Pack 2

Microsoft .NET Framework 3.0

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

Microsoft .NET Framework 3.0

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

Microsoft .NET Framework 3.0

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

Microsoft .NET Framework 3.0

Windows Vista

Microsoft .NET Framework 3.0

Windows Vista x64 Edition

Microsoft .NET Framework 3.0

The software in this list has been tested to determine whether the versions are affected. Other versions either no longer include security update support or may not be affected. To determine the support life cycle for your product and version, visit the Microsoft Support Lifecycle Web site.
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

This security bulletin says that .NET Framework 3.0 is non-affected. How does .NET Framework 3.0 relate to the previous versions that are affected?
Microsoft .NET Framework 3.0 is a superset of .NET Framework 2.0. Microsoft .NET Framework 3.0 listed as Non-Affected Software in this security update refers to the four new technologies added as the superset to the .NET Framework 2.0. These technologies are: Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), and Windows CardSpace. The vulnerabilities addressed in this security update do not affect any of the four specific .NET Framework 3.0 technologies. Developers wishing to learn more about the .NET Framework 3.0 and it’s relation to previous version may refer to the following .NET Framework 3.0 Versioning and Deployment MSDN article. Additional information for .NET Framework 3.0 may also be found in the following MSDN article.

What are the known issues that customers may experience when they install this security update?
Microsoft Knowledge Base Article 931212 documents the currently known issues that customers may experience when they install this security update. The article also documents recommended solutions for these issues.

Does this update contain any security-related changes to functionality?
Yes. In addition to the changes that are listed in the “Vulnerability Information” section of this bulletin, this update includes a defense-in-depth change to ASP.NET. This defense-in-depth change mitigates the issue reported publicly and assigned the Common Vulnerability and Exposure number CVE-2006-7192.

ASP.NET developed Web applications using the ASP.NET request validation feature can not replace an effective validation layer restricting untrusted input variables. Developers wishing to learn more about the security features that ASP.NET provides Web applications may refer to the following MSDN article.

Why does this update address several reported security vulnerabilities?
This update contains support for several vulnerabilities because the modifications that are required to address these issues are located in related files. Instead of having to install several updates that are almost the same, customers need to install this update only.

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

It should be a priority for customers who have older versions of the software to migrate to supported versions 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 versions, 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 .NET PE Loader Vulnerability - CVE-2007-0041 ASP.NET Null Byte Termination Vulnerability - CVE-2007-0042 .NET JIT Compiler Vulnerability - CVE-2007-0043 Aggregate Severity Rating
Windows 2000

Microsoft .NET Framework 1.0 when installed on Windows 2000 Service Pack 4

Critical

Remote Code Execution

Important

Information Disclosure

None

Critical

Microsoft .NET Framework 1.1 when installed on Windows 2000 Service Pack 4

Critical

Remote Code Execution

Important

Information Disclosure

None

Critical

Microsoft .NET Framework 2.0 when installed on Windows 2000 Service Pack 4

Critical

Remote Code Execution

Important

Information Disclosure

Critical

Remote Code Execution

Critical
Windows XP

Microsoft .NET Framework 1.0 when installed on Windows XP Service Pack 2

Critical

Remote Code Execution

Important

Information Disclosure

None

Critical

Microsoft .NET Framework 1.0 when installed on Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical

Remote Code Execution

Important

Information Disclosure

None

Critical

Microsoft .NET Framework 1.0 on Windows XP Tablet PC Edition 2005 and Windows XP Media Center Edition 2005

Critical

Remote Code Execution

Important

Information Disclosure

None

Critical

Microsoft .NET Framework 1.1 when installed on Windows XP Service Pack 2

Critical

Remote Code Execution

Important

Information Disclosure

None

Critical

Microsoft .NET Framework 1.1 when installed on Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical

Remote Code Execution

Important

Information Disclosure

None

Critical

Microsoft .NET Framework 2.0 when installed on Windows XP Service Pack 2

Critical

Remote Code Execution

Important

Information Disclosure

Critical

Remote Code Execution

Critical

Microsoft .NET Framework 2.0 when installed on Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical

Remote Code Execution

Important

Information Disclosure

Critical

Remote Code Execution

Critical
Windows Server 2003

Microsoft .NET Framework 1.0 when installed on Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Moderate

Remote Code Execution

Important

Information Disclosure

None

Important

Microsoft .NET Framework 1.0 when installed on Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium-based Systems

Moderate

Remote Code Execution

Important

Information Disclosure

None

Important

Microsoft .NET Framework 1.0 when installed on Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2

Moderate

Remote Code Execution

Important

Information Disclosure

None

Important

Microsoft .NET Framework 1.1 on Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Moderate

Remote Code Execution

Important

Information Disclosure

None

Important

Microsoft .NET Framework 1.1 when installed on Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium-based Systems

Moderate

Remote Code Execution

Important

Information Disclosure

None

Important

Microsoft .NET Framework 1.1 when installed on Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2

Moderate

Remote Code Execution

Important

Information Disclosure

None

Important

Microsoft .NET Framework 2.0 when installed on Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Moderate

Remote Code Execution

Important

Information Disclosure

Moderate

Remote Code Execution

Important

Microsoft .NET Framework 2.0 when installed on Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium-based Systems

Moderate

Remote Code Execution

Important

Information Disclosure

Moderate

Remote Code Execution

Important

Microsoft .NET Framework 2.0 when installed on Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2

Moderate

Remote Code Execution

Important

Information Disclosure

Moderate

Remote Code Execution

Important
Windows Vista Family

Microsoft .NET Framework 1.0 when installed on Windows Vista

None

Important

Information Disclosure

None

Important

Microsoft .NET Framework 1.1 when installed on Windows Vista

None

Important

Information Disclosure

None

Important

Microsoft .NET Framework 1.1 when installed on Windows Vista x64 Edition

None

Important

Information Disclosure

None

Important

Microsoft .NET Framework 2.0 on Windows Vista

None

Important

Information Disclosure

None

Important

Microsoft .NET Framework 2.0 on Windows Vista x64 Edition

None

Important

Information Disclosure

None

Important

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

.NET PE Loader Vulnerability - CVE-2007-0041:

A remote code execution vulnerability exists in .NET Framework 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 in 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-0041.

Mitigating Factors for .NET PE Loader Vulnerability - CVE-2007-0041:

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

.NET Framework 1.0 is not included in supported editions of Windows with the exception of the following:

Windows XP Tablet PC Edition 2005

Windows XP Media Center Edition 2005

.NET Framework 1.1 is not included in supported editions of Windows with the exception of the following:

Windows Server 2003 Service Pack 1

Windows Server 2003 Service Pack 2

.NET Framework 2.0 is not included in supported editions of Windows with the exception of the following:

Windows Vista

Windows Vista x64-Edition
Top of sectionTop of section

Workarounds for .NET PE Loader Vulnerability - CVE-2007-0041:

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.

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

Configure Internet Explorer to prompt before running Active Scripting or 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:

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 Promptor Disable, and then click OK.

Click Local intranet, and then click Custom Level.

Under Settings, in the Scripting section, under Active Scripting, click Promptor 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 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.

Read e-mail messages in plain text format to help protect yourself from the HTML e-mail attack vector

You can help protect yourself against this vulnerability by changing your e-mail settings to read e-mail messages in plain text using Outlook 2002 and later, Outlook Express 6 and later, or Windows Mail. For information in Outlook, search “plain text” in Help and review “Read messages in plain text.” In Outlook Express, search “plain text” in Help and review “Reducing your risk of getting e-mail viruses.” In Windows Mail, search “plain text” in Help and review “Security and privacy in Windows Mail.”

Impact of Workaround: E-mail messages that are viewed in plain text format will not contain pictures, specialized fonts, animations, or other rich content. Additionally:

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.

Disable .Net controls in Internet Explorer 7

You can help protect against this vulnerability by changing your settings to disable .NET controls in the Internet and Local intranet security zone. To do this, follow these steps:

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

Click the Security tab.

Click Internet, and then click Custom Level.

Change the following options to Disabled:

.Net Framework

Loose XAML

XAML browser applications

XPS documents

.Net Framework-reliant components

Run components not signed with Authenticode

Run components signed with Authenticode

Click OK to save the changes

Make the same changes in other risk zones.

Click OK two times to return to Internet Explorer.

Impact of workaround: .NET controls will not load in the zones you have configured.
Top of sectionTop of section

FAQ for .NET PE Loader Vulnerability - CVE-2007-0041:

What is the scope of the vulnerability?
If successfully exploited, this remote code execution vulnerability could allow the attacker to run arbitrary code as the logged-on user.

What causes the vulnerability?
An unchecked buffer in the .NET Framework PE Loader service.

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 in 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. After they click the link, they would be prompted to perform several actions. An attack could only occur after they performed these actions. 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 or runs a .NET application locally 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.

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.

What does the update do?
The update removes the vulnerability by modifying the way that .NET Framework PE Loader validates the length of a message before it passes the message to the allocated buffer.

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

ASP.NET Null Byte Termination Vulnerability - CVE-2007-0042:

An information disclosure vulnerability exists in .NET Framework that could allow an attacker who successfully exploited this vulnerability to bypass the security features of an ASP.NET Web site to download the contents of any Web page.

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

Mitigating Factors for ASP.NET Null Byte Termination Vulnerability - CVE-2007-0042:

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 factor may be helpful in your situation:

ASP.NET developed Web applications that restrict all untrusted input variables, including null bytes, to a range of expected values or characters would not be affected. Developers wishing to learn more about the security features that ASP.NET provides Web applications may refer to the following MSDN article.
Top of sectionTop of section

Workarounds for ASP.NET Null Byte Termination Vulnerability - CVE-2007-0042:

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 workaround and states in the discussion whether a workaround reduces functionality:

ASP.NET Web Developers may compare values obtained from Internet accessible values such as query string, cookies, or form variables against a list of allowed values and reject any other values that fall outside of this range.
Top of sectionTop of section

FAQ for ASP.NET Null Byte Termination Vulnerability - CVE-2007-0042:

What is the scope of the vulnerability?
This information disclosure vulnerability could allow an attacker to bypass ASP.NET security features by sending invalid URLs and gaining unauthorized access to configuration files. Note that this vulnerability would not allow an attacker to execute code or to elevate their user rights directly, but it could be used to find information that could be used to try to further compromise the affected system.

What causes the vulnerability?
ASP.NET does not properly validate the URL passed as input.

What is ASP.NET?
ASP.NET is a collection of technologies within the.NET Framework that enable developers to build Web applications and XML Web Services.

Unlike traditional Web pages, which use a combination of static HTML and scripting, ASP.NET uses compiled, event-driven pages. Because ASP.NET is a Web-based application environment, requiring an underlying Web server to provide basic HTTP functionality. ASP.NET runs on top of Internet Information Services (IIS) 5.0 on Windows 2000, IIS 5.1 on Windows XP, and IIS 6.0 on Windows Server 2003.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could gain unauthorized access to parts of a Web site. The actions the attacker could take would depend on the specific content being protected.

Who could exploit the vulnerability?
In a Web-based attack scenario, an anonymous user who could connect to a Web site with a specially crafted URL could try to exploit this vulnerability.

What systems are primarily at risk from the vulnerability?
Internet-facing systems that host Web sites are primarily at risk from this vulnerability.

What does the update do?
The update removes the vulnerability by modifying the way that ASP.NET validates URLs.

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

.NET JIT Compiler Vulnerability - CVE-2007-0043:

A remote code execution vulnerability exists in .NET Framework Just In Time Compiler 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-0043.

Mitigating Factors for .NET JIT Compiler Vulnerability - CVE-2007-0043:

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

.NET Framework 1.0 is not included in supported editions of Windows with the exception of the following:

Windows XP Tablet PC Edition 2005

Windows XP Media Center Edition 2005

.NET Framework 1.1 is not included in supported editions of Windows with the exception of the following:

Windows Server 2003 Service Pack 1

Windows Server 2003 Service Pack 2

.NET Framework 2.0 is not included in supported editions of Windows with the exception of the following:

Windows Vista

Windows Vista x64-Edition
Top of sectionTop of section

Workarounds for .NET JIT Compiler Vulnerability - CVE-2007-0043:

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

Configure Internet Explorer to prompt before running Active Scripting or 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:

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 Promptor Disable, and then click OK.

Click Local intranet, and then click Custom Level.

Under Settings, in the Scripting section, under Active Scripting, click Promptor 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 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.

Read e-mail messages in plain text format to help protect yourself from the HTML e-mail attack vector

You can help protect yourself against this vulnerability by changing your e-mail settings to read e-mail messages in plain text using Outlook 2002 and later, Outlook Express 6 and later, or Windows Mail. For information in Outlook, search “plain text” in Help and review “Read messages in plain text.” In Outlook Express, search “plain text” in Help and review “Reducing your risk of getting e-mail viruses.” In Windows Mail, search “plain text” in Help and review “Security and privacy in Windows Mail.”

Impact of Workaround: E-mail messages that are viewed in plain text format will not contain pictures, specialized fonts, animations, or other rich content. Additionally:

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

FAQ .NET JIT Compiler Vulnerability - CVE-2007-0043:

What is the scope of the vulnerability?
If successfully exploited, this remote code execution vulnerability could allow the attacker to run arbitrary code as the logged-on user.

What causes the vulnerability?
An unchecked buffer in the .NET Framework 2.0 JIT Compiler service within the .NET Framework.

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.

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.

What does the update do?
The update removes the vulnerability by modifying the way that the .NET Framework 2.0 JIT Compiler validates the length of a message before it passes the message to the allocated buffer.

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

Acknowledgments

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

Dinis Cruz of OWASP for reporting the .NET PE Loader Vulnerability (CVE-2007-0041).

Paul Craig of Security Assessment for reporting the ASP.NET Null Byte Termination Vulnerability (CVE-2007-0042).

Jeroen Frijters of Sumatra for reporting the .NET JIT Compiler Vulnerability (CVE-2007-0043).

Ferruh T. Mavituna of Portcullis Computer Security Ltd. for originally reporting the .NET Request Filtering Bypass Vulnerability (CVE-2006-7192).

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

V1.0 (July 10, 2007): Bulletin published.