Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:16059
HistoryFeb 13, 2007 - 12:00 a.m.

Microsoft Security Bulletin MS07-012 Vulnerability in Microsoft MFC Could Allow Remote Code Execution (924667)

2007-02-1300:00:00
vulners.com
41

Microsoft Security Bulletin MS07-012
Vulnerability in Microsoft MFC Could Allow Remote Code Execution (924667)
Published: February 13, 2007

Version: 1.0
Summary

Who Should Read this Document: Customers who use Microsoft Windows

Impact of Vulnerability: Remote Code Execution

Maximum Severity Rating: Important

Recommendation: Customers should apply the update at the earliest opportunity

Security Update Replacement: None

Caveats: None

Tested Software and Security Update Download Locations:

Affected Software:
β€’

Microsoft Windows 2000 Service Pack 4 β€” Download the update
β€’

Microsoft Windows XP Service Pack 2 β€” Download the update
β€’

Microsoft Windows XP Professional x64 Edition β€” Download the update
β€’

Microsoft Windows Server 2003 and Microsoft Windows Server 2003 Service Pack 1 β€” Download the update
β€’

Microsoft Windows Server 2003 for Itanium-based Systems and Microsoft Windows Server 2003 with SP1 for Itanium-based Systems β€” Download the update
β€’

Microsoft Windows Server 2003 x64 Edition β€” Download the update
β€’

Microsoft Visual Studio .NET 2002 β€” Download the update (KB924641)
β€’

Microsoft Visual Studio .NET 2002 Service Pack 1 β€” Download the update (KB924642)
β€’

Microsoft Visual Studio .NET 2003 β€” Download the update (KB924643)
β€’

Microsoft Visual Studio .NET 2003 Service Pack 1 β€” Download the update (KB927696)

Non-Affected Software:
β€’

Windows Vista
β€’

Microsoft Visual Studio 2005

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
General Information

Executive Summary

Executive Summary:

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

An attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. Significant user interaction is required to exploit this vulnerability.

We recommend that customers apply the update at the earliest opportunity.

Severity Ratings and Vulnerability Identifiers:
Vulnerability Identifiers Impact of Vulnerability Microsoft Windows 2000 Service Pack 4 Microsoft Windows XP Service Pack 2 Microsoft Windows Server 2003 and Microsoft Windows Server 2003 Service Pack 1 Microsoft Visual Studio .NET 2002 Microsoft Visual Studio .NET 2002 Service Pack 1 Microsoft Visual Studio .NET 2003 Microsoft Visual Studio .NET 2003 Service Pack 1

MFC Memory Corruption Vulnerability - CVE-2007-0025

Remote Code Execution

Important

Important

Important

Important

Important

Important

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.

Note The security updates for Windows Server 2003, Windows Server 2003 Service Pack 1, and Windows Server 2003 x64 Edition also apply to Windows Server 2003 R2.

Note The severity ratings for non-x86 operating system versions map to the x86 operating systems versions as follows:
β€’

The Windows XP Professional x64 Edition severity rating is the same as the Windows XP Service Pack 2 severity rating.
β€’

The Windows Server 2003 for Itanium-based Systems severity rating is the same as the Windows Server 2003 severity rating.
β€’

The Windows Server 2003 with SP1 for Itanium-based Systems severity rating is the same as the Windows Server 2003 Service Pack 1 severity rating.
β€’

The Windows Server 2003 x64 Edition severity rating is the same as the Windows Server 2003 Service Pack 1 severity rating.
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

Does this security update remove the same vulnerability as those addressed in MS07-011 and MS07-013?
No, each individual security bulletin addresses unique security vulnerabilities in different software components; however, similarities do exist between the three security bulletins in how an attacker could exploit the vulnerabilities. It should be noted that MS07-011 (OLE) includes a defense-in-depth improvement that helps to block known attack vectors to the vulnerability addressed in MS07-012 (MFC). Even with the MS07-011 defense-in-depth improvement Microsoft strongly recommends that all three security updates be deployed to address all known vulnerabilities.

Do I need to deploy this security update before MS07-011and MS07-013?
No, the security updates in the three security bulletins can be deployed in any order. There are no application compatibility dependencies between the security updates in the three security bulletins.

I am developing software which containing redistributable files from Visual Studio 6.0. Since my software contains mfc40u.dll and mfc42u.dll, are they affected by this issue? Also, if affected, how should we address it since support for Visual Studio 6.0 has ended?
Since Microsoft only provides security updates for supported versions of its software and support for Visual Studio 6.0 has ended, we recommend that you upgrade your software to use a supported version of Visual Studio such as Visual Studio 2005.

I am developing software which contains the redistributable file mfc70u.dll from Visual Studio .NET 2002 or the file mfc71u.dll from Visual Studio .NET 2002. What do I do?
You should install the security updates included in this security bulletin for Visual Studio .NET 2002 or Visual Studio .NET 2003 as appropriate. If you have redistributed mfc70u.dll or mfc71u.dll with your application, you should issue an updated version of your application to your customers with the updated versions of these files included in this security update for Visual Studio .NET 2002 or Visual Studio .NET 2003.

Copies of mfc40u.dll and mfc42u.dll are found in folders other than %windir%\system32. What do I do?
You need to contact the software vendor that provided the application redistributing one or more of these files and ask the vendor for an updated version of the software which comes with a newer version of the files.

I am using a third-party application which contains the redistributable files mfc70u.dll from Visual Studio .NET 2002 or the file mfc71u.dll from Visual Studio .NET 2002. Does a vulnerability exist in these files? If yes, how should we address it?
You need to contact the software vendor that provided the application redistributing one or more of these files and ask the vendor for an updated version of the software which comes with a newer version of the files.

I am using a third-party application which contains redistributable files from Visual Studio 6.0. Since these applications contain mfc40u.dll and mfc42u.dll, are they affected by this issue? Also, if affected, how should we address it since support for Visual Studio 6.0 has ended?
You need to contact the software vendor that provided the application redistributing one or more of these files and ask the vendor for an updated version of the software which does not redistribute mfc40u.dll and mfc41u.dll.

Extended security update support for Microsoft Windows XP Home Edition Service Pack 1 or Service Pack 1a, Windows XP Media Center Edition 2002 Service Pack 1, Windows XP Media Center Edition 2004 Service Pack 1, Windows XP Professional Service Pack 1 or Service Pack 1a, and Windows XP Tablet PC Edition Service Pack 1 ended on October 10, 2006. I am still using one of these operating systems; what should I do?
Windows XP (all versions) Service Pack 1 has reached the end of its support life cycle. It should be a priority for customers who have these operating system versions 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 Web site. For more information about the extended security update support period for these operating system versions, visit the Microsoft Product Support Services Web site.

Extended security update support for Microsoft Windows 98, Windows 98 Second Edition, or Windows Millennium Edition ended on July 11, 2006. I am still using one of these operating systems; what should I do?
Windows 98, Windows 98 Second Edition, and Windows Millennium Edition have reached the end of their support life cycles. It should be a priority for customers who have these operating system versions 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 Web site. For more information about the extended security update support period for these operating system versions, visit the Microsoft Product Support Services Web site.

Extended security update support for Microsoft Windows NT Workstation 4.0 Service Pack 6a and Windows 2000 Service Pack 2 ended on June 30, 2004. Extended security update support for Microsoft Windows NT Server 4.0 Service Pack 6a ended on December 31, 2004. Extended security update support for Microsoft Windows 2000 Service Pack 3 ended on June 30, 2005. I am still using one of these operating systems; what should I do?
Windows NT Workstation 4.0 Service Pack 6a, Windows NT Server 4.0 Service Pack 6a, Windows 2000 Service Pack 2, and Windows 2000 Service Pack 3 have reached the end of their support life cycles. It should be a priority for customers who have these operating system versions 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 Web site. 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 these products 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.

For more information, visit the Windows Operating System FAQ.

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

Microsoft Windows 2000 Service Pack 4

Yes

No

Yes

Microsoft Windows XP Service Pack 2

Yes

No

Yes

Microsoft Windows XP Professional x64 Edition

No

No

Yes

Microsoft Windows Server 2003 and Microsoft Windows Server 2003 Service Pack 1

Yes

No

Yes

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

No

No

Yes

Microsoft Windows Server 2003 x64 Edition

No

No

Yes

Microsoft Visual Studio .NET 2002

No

Yes

No

Microsoft Visual Studio .NET 2002 Service Pack 1

No

Yes

No

Microsoft Visual Studio .NET 2003

No

Yes

No

Microsoft Visual Studio .NET 2003 Service Pack 1

No

Yes

No

For more information about MBSA, visit the MBSA Web site. For more information about the programs 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.

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 the Microsoft Baseline Security Analyzer (MBSA) 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

Microsoft Windows 2000 Service Pack 4

Yes

Yes

Microsoft Windows XP Service Pack 2

Yes

Yes

Microsoft Windows XP Professional x64 Edition

No

Yes

Microsoft Windows Server 2003 and Microsoft Windows Server 2003 Service Pack 1

Yes

Yes

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

No

Yes

Microsoft Windows Server 2003 x64 Edition

No

Yes

Microsoft Visual Studio .NET 2002

Yes (with EST)

Yes

Microsoft Visual Studio .NET 2002 Service Pack 1

Yes (with EST)

Yes

Microsoft Visual Studio .NET 2003

Yes (with EST)

Yes

Microsoft Visual Studio .NET 2003 Service Pack 1

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

Vulnerability Details

MFC Memory Corruption Vulnerability - CVE-2007-0025:

A remote code execution vulnerability exists in the MFC component provided with Microsoft Windows and Visual Studio. An attacker could exploit this vulnerability when a user interacts with a malformed embedded OLE object within a Rich Text Format (RTF) file.

If a user were logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less affected than users who operate with administrative rights.

Mitigating Factors for MFC Memory Corruption Vulnerability - CVE-2007-0025:
β€’

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.
β€’

An attacker could only exploit this vulnerability when a user opens and then interacts with the embedded OLE object within an RTF file.
β€’

This vulnerability could not be exploited automatically through a Web-based attack scenario. An attacker would have to host a Web site that contains an RTF file that is used to attempt 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, and then convince the user to open the file.
β€’

The vulnerability cannot be exploited automatically through e-mail. For an attack to be successful a user must open an attachment that is sent in an e-mail message and then interact with the embedded OLE object within the RTF file.
Top of sectionTop of section

Workarounds for MFC Memory Corruption Vulnerability - CVE-2007-0025:

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.
β€’

Enable Embedded Object blocking in Wordpad.exe

Note: This workaround only applies to Microsoft Windows XP Service Pack 2, Microsoft Windows Server 2003, and Microsoft Windows Server 2003 Service Pack 1 systems.

Wordpad.exe is the default application used to open Rich Text files. Users can temporarily block the parsing of embedded objects within Rich Text Files.

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.

We recommend that you back up the registry before you edit it.

Use the following text to create a .reg file that will automate editing of the registry to temporarily block the parsing of embedded objects with Rich Text Files when using Wordpad.exe. You can copy the following text, paste it into a text editor such as Notepad, and then save the file with the .reg file name extension. Run the .reg file on the vulnerable client.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RtfStreamIn\ObjectBlocking\wordpad.exe]

Impact of Workaround: Wordpad.exe will no longer parse embedded objects within Rich Text files.
β€’

Do not open or save RTF files that you receive from untrusted sources or that you receive unexpectedly from trusted sources. This vulnerability could be exploited when a user opens a specially crafted file.
β€’

Un-install WordPad from Windows 2000 or Windows 2003

Wordpad.exe is the default application used to open Rich Text files. By uninstalling WordPad, users can block the parsing of embedded objects within Rich Text Files.

Click Start, click Control Panel, and then click Add or Remove Programs.

Click Add/Remove Windows Components, double-click Accessories and Utilities, and then double-click Accessories.

Uncheck Wordpad, click Okay to let the Optional Component manager uninstall Wordpad.

Impact of Workaround: Wordpad will no longer parse embedded objects within Rich Text files.
Top of sectionTop of section

FAQ for MFC Memory Corruption Vulnerability - CVE-2007-0025:

What is the scope of the vulnerability?
A remote code execution vulnerability exists in the MFC component provided with Microsoft Windows and Visual Studio. An attacker could exploit this vulnerability when a user interacts with a malformed embedded OLE object within a Rich Text Format (RTF) file. If a user were logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less affected than users who operate with administrative rights.

What is Rich Text Format (RTF)?
The Rich Text Format (RTF) Specification provides a format for text and graphics interchange that can be used with different output devices, operating environments, and operating systems.

What is OLE?
By using OLE technology, an application can provide embedding and linking support. OLE is the technology that applications use to create and edit compound documents. These are documents of one format, such as a Microsoft Word document, that contain embeddings of (or links to) documents of another format, such as Microsoft Excel. OLE 2.0 takes OLE even further by allowing in-place editing. Instead of launching a new application when an OLE object is activated, the user instead sees a new set of menu items inside their existing application. For more information about OLE, visit the following MSDN Web site.

What causes the vulnerability?
Windows MFC components do not perform sufficient validation when parsing OLE objects embedded within RTF files. When a user interacts with a malformed embedded OLE Object within an RTF file, it may corrupt system memory in such a way that an attacker could execute arbitrary code.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could cause arbitrary code to run with the privileges of the user who opened the file.

How could an attacker exploit the vulnerability?
An attacker could only exploit this vulnerability when a user opens and then interacts with the embedded OLE object within an RTF file.

This vulnerability could not be exploited automatically through a Web-based attack scenario. An attacker would have to host a Web site that contains an RTF file that is used to attempt 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, and then convince the user to open the file.

The vulnerability cannot be exploited automatically through e-mail. For an attack to be successful a user must open an attachment that is sent in an e-mail message and then interact with the embedded OLE object within the RTF file.

What systems are primarily at risk from the vulnerability?
Workstations and terminal servers are primarily at risk. Servers could be at more risk if administrators allow users to log on to servers and to run programs. However, best practices strongly discourage allowing this.

What does the update do?
The update removes the vulnerability by modifying the way that the Windows MFC components parse OLE streams within RTF files.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure. Microsoft had not received any information to indicate that this vulnerability had been publicly disclosed when this security bulletin was originally issued.

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:
β€’

Kostya Kortchinsky of Immunity, Inc. and Fabrice Desclaux from EADS Common Research Center for reporting the MFC Memory Corruption Vulnerability (CVE-2007-0025).

Disclaimer:

The information provided in the Microsoft Knowledge Base is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.

Revisions:
β€’

V1.0 (February 13, 2007): Bulletin published.