-----BEGIN PGP SIGNED MESSAGE-----
AUSCERT External Security Bulletin Redistribution
ESB-2007.0715 -- [Win]
Multiple vendors affected by Microsoft Foundation Class
library FindFile() buffer overflow
21 September 2007
AusCERT Security Bulletin Summary
Product: Microsoft Foundation Class Library (MFC) 7.1 and 4.2
Third party products based on MFC Library
Operating System: Windows
Impact: Execute Arbitrary Code/Commands
CVE Names: CVE-2007-4916
Original Bulletin: http://www.kb.cert.org/vuls/id/611008
Comment: The vulnerable components are standard Microsoft libraries used in
Windows software development. Therefore it is expected that products
from many vendors will be vulnerable, if they use the FindFile()
function with untrusted data.
- --------------------------BEGIN INCLUDED TEXT--------------------
US-CERT Vulnerability Note VU#611008
Microsoft MFC FindFile function heap buffer overflow
A buffer overflow vulnerability in the Microsoft Foundation Class
(MFC) Library could allow an attacker to execute arbitrary code on
an affected system.
The Microsoft Foundation Class (MFC) Library is a Microsoft library
that wraps parts of the Windows API in C++ classes. The MFC libraries
contain a function called FindFile(). The FindFile() function manages
file searches across a filesystem, enabling users to specify the type
of file to search.
MFC is included in Microsoft Visual Studio and Microsoft Windows. MFC
is also used in Hewlett-Packard All-in-One and in Hewlett-Packard
Photo and Imaging Gallery. Note, however, that the use of MFC library
is not necessarily limited to these applications; other applications
may also be using the vulnerable libraries. Additionally, the list
of vendors under the "Systems Affected" section of this vulnerability
may not be an exhaustive list.
The MFC42 and MFC71 libraries contain a heap-based buffer overflow
vulnerability in the FindFile() function's argument handling. This
vulnerability could allow an attacker to execute arbitrary code or
cause a denial of service.
An attacker may be able to execute arbitrary code in the context of
an application that uses the vulnerable function. The scope of the
impact depends on how the affected application works. Applications
that process filename input from the network, such as some web
applications, would be vulnerable to a remote attacker. Applications
that only process filename input from a local user would only be
vulnerable to a local attacker.
Note that applications may be linking to the MFC library dynamically
or statically. It will be necessary to recompile any applications
that are statically linked to the MFC library.
We are currently unaware of a practical solution to this problem.
Note, however, that the MFC libraries can be used by multiple
applications on most systems. Once a solution is made available by
the vendor, it may be necessary for application users (system
administrators, developers) to upgrade or apply multiple patches and
then recompile statically linked applications.
Applications that are statically linked must be recompiled using
patched libraries. Applications that are dynamically linked do not
need to be recompiled; however, running services need to be restarted
in order to use the patched libraries.
System administrators should consider the following process when
addressing this issue:
1. Patch or obtain updated MFC libraries.
2. Restart any dynamically linked services that make use of the
3. Recompile any statically linked applications using the patched
or updated MFC libraries.
Note this is an iterative process for each set of patches being applied.
Vendor Status Date Updated
Hewlett-Packard Company Vulnerable 19-Sep-2007
Microsoft Corporation Vulnerable 19-Sep-2007
This vulnerability was reported by Jonathan Sarba of GoodFellas
Security Research Team.
This document was written by Joseph Pruszynski.
Date Public 09/14/2007
Date First Published 09/20/2007 08:17:28 AM
Date Last Updated 09/20/2007
CVE Name CVE-2007-4916
Document Revision 31
- --------------------------END INCLUDED TEXT--------------------
You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to email@example.com
and we will forward your request to the appropriate person.
NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members. As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.
NOTE: This is only the original release of the security bulletin. It may
not be updated when updates to the original are made. If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.
Contact information for the authors of the original document is included
in the Security Bulletin above. If you have any questions or need further
information, please contact them directly.
Previous advisories and external security bulletins can be retrieved from:
If you believe that your computer system has been compromised or attacked in
any way, we encourage you to let us know by completing the secure National IT
Incident Reporting Form at:
Australian Computer Emergency Response Team
The University of Queensland
Internet Email: firstname.lastname@example.org
Facsimile: (07) 3365 7031
Telephone: (07) 3365 4417 (International: +61 7 3365 4417)
AusCERT personnel answer during Queensland business hours
which are GMT+10:00 (AEST).
On call after hours for member emergencies only.
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----