Bug 1252290 (CVE-2015-4491)

Summary: CVE-2015-4491 Mozilla: Heap overflow in gdk-pixbuf when scaling bitmap images (MFSA 2015-88)
Product: [Other] Security Response Reporter: Huzaifa S. Sidhpurwala <huzaifas>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: jhorak, jrusnack, security-response-team, stransky, vkaigoro
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
An integer overflow, leading to a heap-based buffer overflow, was found in the way gdk-pixbuf, an image loading library for GNOME, scaled certain bitmap format images. An attacker could use a specially crafted BMP image file that, when processed by an application compiled against the gdk-pixbuf library, would cause that application to crash or execute arbitrary code with the permissions of the user running the application.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-31 09:11:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1253206, 1253210, 1253211, 1253213, 1253214    
Bug Blocks: 1242451, 1248359, 1251515, 1253229    

Description Huzaifa S. Sidhpurwala 2015-08-11 06:28:40 UTC
Security researcher Gustavo Grieco reported a heap overflow in gdk-pixbuf affecting Linux systems using Gnome. This issue is triggered by the scaling of a malformed bitmap format image and results in a potentially exploitable crash.

This issue only affects Linux systems running Gnome. Windows and OS X operating systems are unaffected.


External Reference:

https://www.mozilla.org/security/announce/2015/mfsa2015-88.html


Acknowledgements:

Red Hat would like to thank the Mozilla project for reporting this issue. Upstream acknowledges Gustavo Grieco as the original reporter.

Comment 1 errata-xmlrpc 2015-08-11 19:48:23 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2015:1586 https://rhn.redhat.com/errata/RHSA-2015-1586.html

Comment 2 Huzaifa S. Sidhpurwala 2015-08-13 08:47:24 UTC
This issue pertains to:

https://bugzilla.gnome.org/show_bug.cgi?id=752297

When gdk-pixbuf is used to parse and scale a crafted bmp for example when using the gdk_pixbuf_new_from_file_at_scale() etc, it results in large amounts of memory being malloc'ed ultimately resulting in DoS and program abort.

The cause of this flaw is a integer overflow issue in make_filter_table()

 int *weights = g_new (int, SUBSAMPLE * SUBSAMPLE * n_x * n_y);

The above can result in an integer overflow (n_x and n_y come from the bmp file)
And also due to no checks performed in gdk_pixbuf_new()

Secondly when the values of the height and length are carefully chosen, this can also result in a heap-based buffer overflow, and under some conditions result in arbitrary code being executed, in the context of the user running the application.

Applications compiled against gdk-pixbuf, which scale user-controlled bitmap files are affected by this issue.

Comment 3 Huzaifa S. Sidhpurwala 2015-08-13 08:49:54 UTC
Created gdk-pixbuf2 tracking bugs for this issue:

Affects: fedora-all [bug 1253206]

Comment 5 Huzaifa S. Sidhpurwala 2015-08-13 09:39:58 UTC
*** Bug 1242449 has been marked as a duplicate of this bug. ***

Comment 6 Huzaifa S. Sidhpurwala 2015-08-13 09:40:53 UTC
Upstream commit:

https://git.gnome.org/browse/gdk-pixbuf/commit/?id=ffec86e

Comment 8 Fedora Update System 2015-08-21 16:27:27 UTC
gdk-pixbuf2-2.31.6-1.fc22 has been submitted as an update to Fedora 22. https://bugzilla.redhat.com/show_bug.cgi?id=1252290

Comment 9 Fedora Update System 2015-08-21 16:27:43 UTC
gdk-pixbuf2-2.31.6-1.fc21 has been submitted as an update to Fedora 21. https://bugzilla.redhat.com/show_bug.cgi?id=1252290

Comment 10 Fedora Update System 2015-08-21 16:31:23 UTC
gdk-pixbuf2-2.31.6-1.fc21 has been submitted as an update to Fedora 21. https://bugzilla.redhat.com/show_bug.cgi?id=1252290

Comment 11 Fedora Update System 2015-08-22 02:51:10 UTC
gdk-pixbuf2-2.31.6-1.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update gdk-pixbuf2'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-13925

Comment 12 Fedora Update System 2015-08-22 04:19:18 UTC
gdk-pixbuf2-2.31.6-1.fc21 has been pushed to the Fedora 21 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update gdk-pixbuf2'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-13926

Comment 13 errata-xmlrpc 2015-08-25 07:31:27 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7
  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 6

Via RHSA-2015:1682 https://rhn.redhat.com/errata/RHSA-2015-1682.html

Comment 14 errata-xmlrpc 2015-08-31 08:38:08 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7
  Red Hat Enterprise Linux 6

Via RHSA-2015:1694 https://rhn.redhat.com/errata/RHSA-2015-1694.html

Comment 15 Huzaifa S. Sidhpurwala 2015-08-31 09:10:57 UTC
Statement:

This issue did not affect the versions of gdk-pixbuf as shipped with Red Hat Enterprise Linux 5.

Comment 16 Fedora Update System 2015-09-06 04:50:19 UTC
gdk-pixbuf2-2.31.6-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2015-09-06 06:20:46 UTC
gdk-pixbuf2-2.31.6-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.