Executive Summary

Title Microsoft MFC FindFile function heap buffer overflow
Name VU#611008 First vendor Publication 2007-09-20
Vendor VU-CERT Last vendor Modification 2007-09-20
Severity (Vendor) N/A Revision M

Security-Database Scoring CVSS v3

Cvss vector : N/A
Overall CVSS Score NA
Base Score NA Environmental Score NA
impact SubScore NA Temporal Score NA
Exploitabality Sub Score NA
Calculate full CVSS 3.0 Vectors scores

Security-Database Scoring CVSS v2

Cvss vector : (AV:N/AC:L/Au:N/C:C/I:C/A:C)
Cvss Base Score 10 Attack Range Network
Cvss Impact Score 10 Attack Complexity Low
Cvss Expoit Score 10 Authentication None Required
Calculate full CVSS 2.0 Vectors scores


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.

I. Description

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.

II. Impact

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.

III. Solution

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

Systems Affected

VendorStatusDate Updated
Hewlett-Packard CompanyVulnerable19-Sep-2007
Microsoft CorporationVulnerable19-Sep-2007




This vulnerability was reported by Jonathan Sarba of GoodFellas Security Research Team.

This document was written by Joseph Pruszynski.

Other Information

Date Public09/14/2007
Date First Published09/20/2007 08:17:28 AM
Date Last Updated09/20/2007
CERT Advisory 
CVE NameCVE-2007-4916
Document Revision31

Original Source

Url : http://www.kb.cert.org/vuls/id/611008

CWE : Common Weakness Enumeration

% Id Name
100 % CWE-119 Failure to Constrain Operations within the Bounds of a Memory Buffer

CPE : Common Platform Enumeration

Application 1
Hardware 1

Open Source Vulnerability Database (OSVDB)

Id Description
37105 Microsoft Windows mfc42.dll / mfc42u.dll CFileFind Class FindFile() Function ...

Snort® IPS/IDS

Date Description
2014-01-10 Microsoft Windows MFC Library ActiveX function call unicode access
RuleID : 12615 - Revision : 6 - Type : WEB-ACTIVEX
2014-01-10 Microsoft Windows MFC Library ActiveX function call access
RuleID : 12614 - Revision : 14 - Type : BROWSER-PLUGINS
2014-01-10 Microsoft Windows MFC Library ActiveX clsid unicode access
RuleID : 12613 - Revision : 6 - Type : WEB-ACTIVEX
2014-01-10 Microsoft Windows MFC Library ActiveX clsid access
RuleID : 12612 - Revision : 11 - Type : BROWSER-PLUGINS