[NT] Vulnerability in Microsoft MFC Allows Code Execution (MS07-012)



The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

The SecuriTeam alerts list - Free, Accurate, Independent.

Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html

- - - - - - - - -



Vulnerability in Microsoft MFC Allows Code Execution (MS07-012)
------------------------------------------------------------------------


SUMMARY

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.

DETAILS

Affected Software:
Microsoft Windows 2000 Service Pack 4 -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=d6577f1f-0d9e-4856-b1d6-7e27657a3620> Download the update
Microsoft Windows XP Service Pack 2 -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=84ae4c62-89ae-410a-b34b-471e3c09ce98> Download the update
Microsoft Windows XP Professional x64 Edition -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=54e0dc33-6bad-476c-b4cf-b833d591aaad> Download the update
Microsoft Windows Server 2003 and Microsoft Windows Server 2003 Service
Pack 1 -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=934ca609-d6bc-4bf0-8233-969eb43d48bb> Download the update
Microsoft Windows Server 2003 for Itanium-based Systems and Microsoft
Windows Server 2003 with SP1 for Itanium-based Systems -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=67f52e93-cd57-4852-b838-a958ab9b23fb> Download the update
Microsoft Windows Server 2003 x64 Edition -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=f2ca9de9-f69e-4e34-9aa9-0b320d670e04> Download the update
Microsoft Visual Studio .NET 2002 -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=711F05A8-CD67-4702-B079-3FF79A3AB4DE> Download the update (KB924641)
Microsoft Visual Studio .NET 2002 Service Pack 1 -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=124F2D2D-8CF3-47F3-A8FD-24A9FACF4FA4> Download the update (KB924642)
Microsoft Visual Studio .NET 2003 -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=A05CE727-C5B5-4022-B7A0-D8861CE99209> Download the update (KB924643)
Microsoft Visual Studio .NET 2003 Service Pack 1 -
<http://www.microsoft.com/downloads/details.aspx?FamilyId=1DD6D8E7-390B-4E02-9F16-AB9D5EF7792E> Download the update (KB927696)

Non-Affected Software:
* Windows Vista
* Microsoft Visual Studio 2005

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.

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.

1. Click Start, click Control Panel, and then click Add or Remove
Programs.
2. Click Add/Remove Windows Components, double-click Accessories and
Utilities, and then double-click Accessories.
3. 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.

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.


ADDITIONAL INFORMATION

The information has been provided by Microsoft Security Bulletin MS07-012.
The original article can be found at:
<http://www.microsoft.com/technet/security/bulletin/ms07-012.mspx>
http://www.microsoft.com/technet/security/bulletin/ms07-012.mspx



========================================


This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@xxxxxxxxxxxxxx
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@xxxxxxxxxxxxxx


====================
====================

DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.



Relevant Pages