iDefense Security Advisory 11.30.06: Multiple Vendor libgsf Heap Overflow Vulnerability
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.