Multiple Vendor libgsf Heap Overflow Vulnerability iDefense Security Advisory 11.30.06 http://labs.idefense.com/intelligence/vulnerabilities/ Nov 30, 2006 I. BACKGROUND The GNOME Structured File Library is a utility library for reading and writing structured file formats. This library replaces libole2 and is used in projects such as gnumeric, mrproject, abiword, libwv2 and koffice. It is generally used to access MS OLE2 streams. For more information, see: http://freshmeat.net/projects/libgsf/ II. DESCRIPTION Remote exploitation of a heap overflow vulnerability in libgsf, as included in various vendors' operating system distributions, could allow an attacker to execute arbitrary code. The problem specifically exists in the 'ole_init_info' function; the function only obtains enough for the number specified in 'num_bat' when allocating memory. Later, when reading the file contents, the number specified in 'num_metabat' is used as the bounds for a loop. Due to insufficient validation of the aforementioned variables, an attacker could cause a heap overflow. III. ANALYSIS Successful exploitation of this vulnerability requires an attacker to persuade a user into opening a specially crafted OLE document. If successful, the attacker could execute arbitrary code with the permissions of the victim. Inside of the 'ole_info_read_metabat' function, values read from the file are validated to be within a range which depends on the size of the file. Successful exploitation may be somewhat mitigated by this validation. However, as file size increases, the number of allowed values increases. IV. DETECTION iDefense has confirmed the existence of this vulnerability in version 1.14.0 of the Gnome Structured File library. Any applications or libraries that utilize this library for OLE should be considered vulnerable. V. WORKAROUND iDefense is unaware of any effective workarounds at this time. VI. VENDOR RESPONSE The libgsf maintainers have addressed this problem with version 1.14.2. VII. CVE INFORMATION The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2006-4514 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org), which standardizes names for security problems. VIII. DISCLOSURE TIMELINE 08/17/2006 Initial vendor notification 08/17/2006 Initial vendor response 11/30/2006 Coordinated public disclosure IX. CREDIT This vulnerability was reported to iDefense by infamous41md. Get paid for vulnerability research http://labs.idefense.com/methodology/vulnerability/vcp.php Free tools, research and upcoming events http://labs.idefense.com/ X. LEGAL NOTICES Copyright © 2006 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 e-mail customerservice@xxxxxxxxxxxx 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, this information.