Bug 17738 - gtk+2.0 new integer overflow security issue (CVE-2013-7447)
Summary: gtk+2.0 new integer overflow security issue (CVE-2013-7447)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 5
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: QA Team
QA Contact: Sec team
URL: http://lwn.net/Vulnerabilities/675834/
Whiteboard: has_procedure advisory MGA5-64-OK MGA...
Keywords: validated_update
Depends on:
Blocks: 17731
  Show dependency treegraph
 
Reported: 2016-02-11 22:56 CET by Atilla ÖNTAŞ
Modified: 2016-02-17 20:21 CET (History)
2 users (show)

See Also:
Source RPM: gtk+2.0-2.24.26-3.mga5.src.rpm
CVE:
Status comment:


Attachments

Description Atilla ÖNTAŞ 2016-02-11 22:56:28 CET
I have uploaded a patched gtk+2.0 package for Mageia 5.

You can test this by:

1. Install a gtk+2 image viewer such as eom if it isn't installed.
2. Download the archive which contains a large image file from: https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/1540811/+attachment/4561945/+files/image.tar
3. Unpack it and open the unpacked image (27000_27000_1437947845.png) in eom.
5. eom or your gtk+2 image viewer crashes.

After installing patched gtk+2.0 package this error should not occur.

Suggested advisory:
========================

Updated gtk+2.0 packages fix security vulnerability:

Due to a logic error, an attempt to allocate a large block of memory
fails in gdk_cairo_set_source_pixbuf, leading to a crash of the app
that called it, for example, eom (CVE-2013-7447).


References:
https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/1540811
https://github.com/mate-desktop/eom/issues/93
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799275
https://bugzilla.gnome.org/show_bug.cgi?id=703220
https://git.gnome.org/browse/gtk+/commit?id=894b1ae76a32720f4bb3d39cf460402e3ce331d6
http://openwall.com/lists/oss-security/2016/02/10/2
https://bugs.mageia.org/show_bug.cgi?id=17731
========================

Updated packages in core/updates_testing:
========================

gtk+2.0-2.24.26-3.mga5
lib64gtk+2.0_0-2.24.26-3.mga5
lib64gtk+2.0-devel-2.24.26-3.mga5
lib64gtk+-x11-2.0_0-2.24.26-3.mga5
lib64gail18-2.24.26-3.mga5
lib64gail-devel-2.24.26-3.mga5
lib64gtk-gir2.0-2.24.26-3.mga5

Source RPMs:
========================
gtk+2.0-2.24.26-3.mga5.src.rpm

Reproducible: 

Steps to Reproduce:
Atilla ÖNTAŞ 2016-02-11 23:06:24 CET

Blocks: (none) => 17731

David Walser 2016-02-12 00:49:11 CET

Severity: critical => major

Comment 1 Len Lawrence 2016-02-12 01:25:49 CET
mga5  x86_64  Mate

Obtained the PNG image via the link.
Tried out eom and it displayed an image frame and immediately crashed.  eog hung for a long time, displaying a grey square until a popup reported that eog was not responding.  Forced quit but something was running in the background, using all eight cores and slowing down the system.

Going for the update.

CC: (none) => tarazed25

Comment 2 Len Lawrence 2016-02-12 01:28:18 CET
When it reaches the mirrors.
Comment 3 Len Lawrence 2016-02-12 09:48:50 CET
Updated gtk+2 and gtk lib packages.  These hauled in another 17 packages:
Core Release
  graphite2-1.2.4-3.mga5
  lib64cairo-devel-1.14.0-1.mga5
  lib64directfb-devel-1.7.5-4.mga5
  lib64fontconfig-devel-2.11.1-4.mga5
  lib64graphite2-devel-1.2.4-3.mga5
  lib64harfbuzz-devel-0.9.36-1.mga5
  lib64pango1.0-devel-1.36.8-3.mga5
  lib64xcomposite-devel-0.4.4-7.mga5
  lib64xcursor-devel-1.1.14-5.mga5
  lib64xft-devel-2.3.2-3.mga5
  lib64xi-devel-1.7.4-3.mga5
  lib64xrandr-devel-1.4.2-4.mga5
  lib64xrender-devel-0.9.8-5.mga5
  pango-doc-1.36.8-3.mga5.noarch
Core Updates
  lib64gdk_pixbuf2.0-devel-2.32.1-1.mga5
  lib64pixman-devel-0.32.8-1.mga5
Tainted Release
  lib64freetype6-devel-2.5.4-2.mga5.tainted

Used updated eom to view a number of astronomical images (JPEG) and the test PNG image.  The latter was presented as a black square measuring 27000x27000 compressed on-screen by a factor of 25x25, i.e. 4%.

$ eog 27000_27000_1437947845.png 

(eog:9562): EOG-WARNING **: Error loading Eog typelib: Typelib file for namespace 'Eog', version '3.0' not found
(eog:9562): libpeas-WARNING **: Type not found in introspection: 'EogApplicationActivatable'
(eog:9562): libpeas-WARNING **: Method 'EogApplicationActivatable.activate' was not found
(eog:9562): libpeas-WARNING **: Type not found in introspection: 'EogWindowActivatable'
(eog:9562): libpeas-WARNING **: Method 'EogWindowActivatable.activate' was not found
(eog:9562): Gdk-WARNING **: eog: Fatal IO error 2 (No such file or directory) on X server :0.

Everything ground to a halt while eog was attempting to display the image.  firefox noticed this eventually and issued a warning about "a script on this page is not responding".  Moving between workspaces was painfully slow until it crashed.

The upshot of this is that the updated gtk+2 works.  If you agree with this Attila I shall give it the OK.
Comment 4 Len Lawrence 2016-02-12 09:51:38 CET
Correction to comment #3: read 4% as 4%x4%
Comment 5 Len Lawrence 2016-02-12 09:56:32 CET
Eughh!  Another error in comment #3: eom version was eom-1.8.1-2.mga5, not updated.
Comment 6 Len Lawrence 2016-02-12 11:16:53 CET
eog requires libgtk-3 by the look of it so is irrelevant to this update.  Should have used gqview (package geeqie).

Just tried it and it displayed all the images in the test directory.
It had no trouble with the test PNG file.
Len Lawrence 2016-02-12 11:26:35 CET

Whiteboard: (none) => has_procedure MGA5-64-OK

Comment 7 Len Lawrence 2016-02-13 16:37:34 CET
mga5  i586 in virtualbox  Mate

gtk+2.0 already at updated version.
Downloaded the large PNG image file.
$ eom 27000_27000_1437947845.png
This failed for lack of memory.
Closed down the virtual machine and increased memory from 1.3GB to 4.8GB and rebooted the vm.  This time eom (pre-update) displayed the PNG image without any trouble.  gqview also displayed the image.

$ urpmq --requires-recursive geeqie | grep gtk
gtk+2.0
gtk+3.0
libgtk+-x11-2.0_0
libgtk+2.0_0
libgtk+3_0
xdg-user-dirs-gtk

Validating the update on the strength of this.  Please push to updates.
Len Lawrence 2016-02-13 16:38:00 CET

Whiteboard: has_procedure MGA5-64-OK => has_procedure MGA5-64-OK MGA5-32-OK

Len Lawrence 2016-02-13 16:38:17 CET

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs

Comment 8 claire robinson 2016-02-15 11:59:56 CET
Advisory uploaded.

Whiteboard: has_procedure MGA5-64-OK MGA5-32-OK => has_procedure advisory MGA5-64-OK MGA5-32-OK

David Walser 2016-02-16 20:24:59 CET

URL: (none) => http://lwn.net/Vulnerabilities/675834/

Comment 9 Mageia Robot 2016-02-17 20:21:59 CET
An update for this issue has been pushed to the Mageia Updates repository.

http://advisories.mageia.org/MGASA-2016-0069.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.