GIMP 2.8.0 FIT File Format DoS

2012-06-29T00:00:00
ID 1337DAY-ID-18873
Type zdt
Reporter Joseph Sheridan
Modified 2012-06-29T00:00:00

Description

Exploit for windows platform in category dos / poc

                                        
                                            Summary
=======
 
There is a file handling DoS in GIMP (the GNU Image Manipulation Program) for
the 'fit' file format affecting all versions (Windows and Linux) up to and
including 2.8.0. A file in the fit format with a malformed 'XTENSION' header
will cause a crash in the GIMP program.
 
CVE number: CVE-2012-3236
Vendor Homepage: http://www.gimp.org/
Date reported to vendor: 25/05/2012
Found by Joseph Sheridan:
href="http://www.reactionpenetrationtesting.co.uk/joseph-sheridan.html
 
This advisory is posted at:
http://www.reactionpenetrationtesting.co.uk/FIT-file-handling-DoS.html
 
PoC file is available here:
http://www.reactionpenetrationtesting.co.uk/vuln.fit
http://www.exploit-db.com/sploits/19482.fit
 
 
Affected Products
=================
 
Vulnerable Products
+------------------
 
The following products are known to be affected by this vulnerability:
 
* GIMP <= 2.8.0 (Windows or Linux builds)
 
Products Not Vulnerable
+--------------------------------
* GIMP 2.8.1
 
Details
=======
 
There is a file handling DoS in GIMP (the GNU Image Manipulation Program) for
the 'fit' file format affecting all versions (Windows and Linux) up to 2.8.0.
A file in the fit format with a malformed 'XTENSION' header will cause a crash
in the GIMP program. The flaw is triggered by opening a crafted 'fit' file or
allowing the file explorer dialog to preview the file.
 
A file in the fit format starting as follows will trigger the crash:
XTENSIONaaaaaaaaaaaaaaaaaaaaaa...aaaaaaaaaaaaaaaaaaaaaaaaHEADER2...
 
The vulnerable code is in the fits-io.c lines where the program attempts to
copy from a null pointer:
 
{
fdat = fits_decode_card (fits_search_card (hdr, "XTENSION"), typ_fstring);
strcpy (hdulist->xtension, fdat->fstring);
}
 
This code can be patched by changing it to the following (as GIMP 2.8.1):
 
fdat = fits_decode_card (fits_search_card (hdr, "XTENSION"), typ_fstring);
if(fdat != NULL) {
strcpy (hdulist->xtension, fdat->fstring);
} else {
strcpy (errmsg, "No valid XTENSION header found.");
goto err_return;
}
 
Impact
======
 
Successful exploitation of the vulnerability may result in an application
crash and denial of service.
 
Solution
===========
The GIMP team have provided an update for this issue (release 2.8.1).
 
Workarounds
===========
 
The fits-io.c file can be patched as above.
 
Distribution
============
 
In addition to posting on the website, a text version of this notice
is posted to the following e-mail and Usenet news recipients.
 
* bugtraq () securityfocus com
* full-disclosure () lists grok org uk
* oss [dash] security [dash] subscribe [at] lists [dot] openwall [dot] com
 
Future updates of this advisory, if any, will be placed on the ReactionIS
corporate website, but may or may not be actively announced on
mailing lists or newsgroups. Users concerned about this problem are
encouraged to check the URL below for any updates:
 
http://www.reactionpenetrationtesting.co.uk/FIT-file-handling-DoS.html
 
========================================================================
====



#  0day.today [2018-02-19]  #