DataRescue IDA Pro PE Buffer Overflow in Import Library Name May Let Remote Users Execute Arbitrary Code
SecurityTracker Alert ID: 1012975|
SecurityTracker URL: http://securitytracker.com/id/1012975
(Links to External Site)
Date: Jan 24 2005
Execution of arbitrary code via local system, Execution of arbitrary code via network, User access via local system, User access via network|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): 4.7 and prior versions|
iDEFENSE reported a buffer overflow vulnerability in DataRescue IDA Pro. A remote user may be able to cause arbitrary code to be executed by the target user.|
A remote user can create a specially crafted Portable Executable file that, when processed by the target user with IDA Pro, will execute arbitrary code with the privileges of the target user.
A Portable Executable file import directory (that lists the symbols imported by the PE file) that contains a long import library name in the Import Address Table can trigger the stack-based buffer overflow.
The flaw resides in 'ida.wll'.
Examining the PE import table using various analysis tools may not be able to detect this flaw.
Lord Yup is credited with discovering this flaw.
The vendor was notified on January 12, 2005.
The original advisory is available at:
A remote user can create a PE file that, when processed by the target user with IDA Pro, will execute arbitrary code with the privileges of the target user.|
The vendor has issued a temporary fix, available at:|
Vendor URL: www.datarescue.com/idabase/ (Links to External Site)
|Underlying OS: Linux (Any), UNIX (Any), Windows (Any)|
Source Message Contents
Subject: iDEFENSE Security Advisory 01.24.05: DataRescue Interactive|
DataRescue Interactive Disassembler Pro Buffer Overflow Vulnerability
iDEFENSE Security Advisory 01.24.05
January 24, 2005
DataRescue Inc.'s IDA Pro is a Windows or Linux hosted multi-processor
disassembler and debugger providing a multitude of features. More
information is available at:
Exploitation of a buffer overflow vulnerability in DataRescue Inc.'s
Interactive Disassembler Pro (IDA Pro) allows attackers to execute
arbitrary code under the context of the logged on user.
The problem specifically exists in the code responsible for parsing the
Portable Executable import directory. The import directory lists all the
symbols imported by the PE file and is stored as an array of data
structures. Each data structure contains the name of the imported
library and a list of function pointers, known as the Import Address
Table. A stack-based buffer overflow occurs when parsing long import
library names in the following snippet of assembly from ida.wll
(IDA Pro v4.7):
0x100838BB LEA EDX, [EBP-30C]
0x100838C1 PUSH DWORD PTR [EBP+8]
0x100838C4 PUSH EDX
0x100838C5 CALL ida.#835
"EBP+8" from above represents the attacker-supplied source buffer and
"EBP-30C" represents the static stack-based destination buffer of
approximately 800 bytes. The "ida_835" procedure performs an unchecked
string copy overwriting a stored return address and allowing an attacker
to redirect CPU flow to eventually execute arbitrary code.
Exploitation of the described vulnerability allows attackers to execute
arbitrary code under the context of the logged in user. Exploitation
requires that an attacker convince a target user to open a malicious
Portable Executable file with a vulnerable version of IDA Pro. IDA Pro
is the primary disassembler used by many security researchers. As such,
the severity of this issue is exacerbated when considering the impact of
a fast spreading worm combined with an exploit for this vulnerability.
Although simple modification of an import library name is sufficient to
exploit this vulnerability, the Windows loader will fail to recognize it
as a valid PE file. This will result in a non-executable malicious
binary. iDEFENSE has discovered a method for exploiting this
vulnerability in a fashion that is undetectable via PE import table
entry analysis, and that is affective against IDA Pro and will load and
execute as a regular binary without error.
It should be noted that other applications designed to analyze PE
executables may also be vulnerable. PEiD is a freely available PE
analysis tool and is also susceptible to attack.
iDEFENSE has confirmed the existence of this vulnerability in IDA Pro
versions 4.6 Service Pack 1 and 4.7 on both the Microsoft Windows and
Linux platforms. It is suspected that earlier versions are also
Prior to opening unknown files with vulnerable versions of IDA Pro,
examine the PE import table entries for long or abnormal strings. There
are a number of tools available for analyzing the PE file format. It is
important to note that this method will not catch all exploit vectors.
VI. VENDOR RESPONSE
"A temporary fix is available here
A more generic fix will be available in the next IDA Pro release."
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
names CAN-2005-0115 to these issues. This is a candidate for inclusion
in the CVE list (http://cve.mitre.org), which standardizes names for
VIII. DISCLOSURE TIMELINE
01/12/2005 Initial vendor notification
01/12/2005 Initial vendor response
01/24/2005 Coordinated public disclosure
Lord Yup is credited with this discovery.
Get paid for vulnerability research
X. LEGAL NOTICES
Copyright (c) 2005 iDEFENSE, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDEFENSE. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically, please
email email@example.com for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on,