CVE-2015-4491
NoneCVSS
—
EPSS
8.4%
Published
Aug 16, 2015
CISA due date
—
Cloudanix analysis
A problem in software that processes pictures can let attackers take over or crash a computer simply by making it look at a specially designed image file.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in make_filter_table during bitmap scaling leads to heap-based buffer overflow enabling arbitrary code execution or application crash.
Why it matters to the business
Applications handling images on Linux systems risk remote compromise or denial of service; the issue is widespread across browsers and desktop environments but has been public for over a decade with no active exploitation campaigns noted.
How an attack unfolds
An attacker creates a bitmap with malicious dimensions that trigger the integer overflow when the image is scaled; the crafted image is delivered through a web page, attachment, or file opened in an affected product such as Firefox or Chrome on Linux, resulting in heap corruption that can be leveraged for code execution.
How to fix it
Upgrade gdk-pixbuf to version 2.31.5 or newer and update affected products including Mozilla Firefox to 40.0 or ESR 38.2 and later; rebuild or reinstall any downstream packages that statically link the library.
How to confirm the fix worked
Verify installed gdk-pixbuf version is at least 2.31.5 and confirm affected applications report current patched releases; test image processing with known trigger dimensions in a controlled environment.
Typical attack path
- Craft bitmap image with dimensions designed to overflow during filter table creation
- Deliver image via web content, email attachment, or local file
- Victim application loads and scales the image using vulnerable gdk-pixbuf
- Trigger integer overflow in pixops/pixops.c leading to heap buffer overflow
- Execute arbitrary code or cause crash
How to detect it
Search application crash logs and core dumps for heap corruption patterns during image scaling operations; inspect web server or email gateway logs for delivery of unusual bitmap files around the time of crashes in browser or desktop processes.
What your security team should do
- Prioritize patching of gdk-pixbuf and dependent applications on all Linux endpoints
- Review and update image-handling libraries across desktop and server environments
- Monitor for any new exploit maturity signals given the long public disclosure period
The record
Integer overflow in the make_filter_table function in pixops/pixops.c in gdk-pixbuf before 2.31.5, as used in Mozilla Firefox before 40.0 and Firefox ESR 38.x before 38.2 on Linux, Google Chrome on Linux, and other products, allows remote attackers to execute arbitrary code or cause a denial of service (heap-based buffer overflow and application crash) via crafted bitmap dimensions that are mishandled during scaling.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | gdk-pixbuf | 0 | 2.31.7-1 |
| Debian:11 | gtk+2.0 | 0 | 2.21.5-1 |
| Debian:12 | gdk-pixbuf | 0 | 2.31.7-1 |
| Debian:12 | gtk+2.0 | 0 | 2.21.5-1 |
| Debian:13 | gdk-pixbuf | 0 | 2.31.7-1 |
| Debian:13 | gtk+2.0 | 0 | 2.21.5-1 |
| Debian:6.0 | gtk+2.0 | 0 | 2.20.1-2+deb6u2 |
| Debian:7 | gdk-pixbuf | 0 | 2.26.1-1+deb7u1 |
| Debian:7 | gdk-pixbuf | 0 | 2.26.1-1+deb7u3 |
| Debian:8 | gdk-pixbuf | 0 | 2.31.1-2+deb8u2 |
| Debian:8 | gdk-pixbuf | 0 | 2.31.1-2+deb8u4 |
| Mageia:4 | firefox | 0 | 38.2.0-1.mga4 |
| Mageia:4 | firefox-l10n | 0 | 38.2.0-1.mga4 |
| Mageia:4 | nss | 0 | 3.19.3-1.mga4 |
| Mageia:4 | rootcerts | 0 | 20150709.00-1.mga4 |
| Mageia:4 | thunderbird | 0 | 38.2.0-1.mga4 |
| Mageia:4 | thunderbird-l10n | 0 | 38.2.0-1.mga4 |
| Mageia:5 | firefox | 0 | 38.2.0-1.mga5 |
| Mageia:5 | firefox-l10n | 0 | 38.2.0-1.mga5 |
| Mageia:5 | gdk-pixbuf2.0 | 0 | 2.31.2-2.1.mga5 |
| Mageia:5 | nss | 0 | 3.19.3-1.mga5 |
| Mageia:5 | rootcerts | 0 | 20150709.00-1.mga5 |
| Mageia:5 | thunderbird | 0 | 38.2.0-1.mga5 |
| Mageia:5 | thunderbird-l10n | 0 | 38.2.0-1.mga5 |
| Red Hat:enterprise_linux:5::client | firefox | 0 | 0:38.2.0-4.el5_11 |
| Red Hat:enterprise_linux:5::client | firefox-debuginfo | 0 | 0:38.2.0-4.el5_11 |
| Red Hat:enterprise_linux:5::client | thunderbird | 0 | 0:38.2.0-4.el5_11 |
| Red Hat:enterprise_linux:5::client | thunderbird-debuginfo | 0 | 0:38.2.0-4.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox | 0 | 0:38.2.0-4.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox-debuginfo | 0 | 0:38.2.0-4.el5_11 |
| Red Hat:enterprise_linux:6::client | firefox | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::client | firefox-debuginfo | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::client | gdk-pixbuf2 | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::client | gdk-pixbuf2-debuginfo | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::client | gdk-pixbuf2-devel | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::client | thunderbird | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::client | thunderbird-debuginfo | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::computenode | firefox | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::computenode | firefox-debuginfo | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::computenode | gdk-pixbuf2 | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::computenode | gdk-pixbuf2-debuginfo | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::computenode | gdk-pixbuf2-devel | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::server | firefox | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::server | firefox-debuginfo | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::server | gdk-pixbuf2 | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::server | gdk-pixbuf2-debuginfo | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::server | gdk-pixbuf2-devel | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::server | thunderbird | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::server | thunderbird-debuginfo | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::workstation | firefox | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::workstation | firefox-debuginfo | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::workstation | gdk-pixbuf2 | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::workstation | gdk-pixbuf2-debuginfo | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::workstation | gdk-pixbuf2-devel | 0 | 0:2.24.1-6.el6_7 |
| Red Hat:enterprise_linux:6::workstation | thunderbird | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:6::workstation | thunderbird-debuginfo | 0 | 0:38.2.0-4.el6_7 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:38.2.0-4.el7_1 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:38.2.0-4.el7_1 |
| Red Hat:enterprise_linux:7::client | gdk-pixbuf2 | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::client | gdk-pixbuf2-debuginfo | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::client | gdk-pixbuf2-devel | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:38.2.0-1.el7_1 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:38.2.0-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | gdk-pixbuf2 | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::computenode | gdk-pixbuf2-debuginfo | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::computenode | gdk-pixbuf2-devel | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:38.2.0-4.el7_1 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:38.2.0-4.el7_1 |
| Red Hat:enterprise_linux:7::server | gdk-pixbuf2 | 0 | 0:2.28.2-5.ael7b_1 |
| Red Hat:enterprise_linux:7::server | gdk-pixbuf2-debuginfo | 0 | 0:2.28.2-5.ael7b_1 |
| Red Hat:enterprise_linux:7::server | gdk-pixbuf2-devel | 0 | 0:2.28.2-5.ael7b_1 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:38.2.0-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:38.2.0-1.ael7b_1 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:38.2.0-4.el7_1 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:38.2.0-4.el7_1 |
| Red Hat:enterprise_linux:7::workstation | gdk-pixbuf2 | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::workstation | gdk-pixbuf2-debuginfo | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::workstation | gdk-pixbuf2-devel | 0 | 0:2.28.2-5.el7_1 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:38.2.0-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:38.2.0-1.el7_1 |
| Red Hat:rhel_productivity:5 | thunderbird | 0 | 0:38.2.0-4.el5_11 |
| Red Hat:rhel_productivity:5 | thunderbird-debuginfo | 0 | 0:38.2.0-4.el5_11 |
| SUSE:Linux Enterprise Desktop 11 SP3 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Desktop 11 SP3 | MozillaFirefox-branding-SLED | 0 | 31.0-0.12.51 |
| SUSE:Linux Enterprise Desktop 11 SP3 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Desktop 11 SP3 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Desktop 11 SP4 | MozillaFirefox-branding-SLED | 0 | 31.0-0.12.51 |
| SUSE:Linux Enterprise Desktop 11 SP4 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Desktop 12 | MozillaFirefox | 0 | 38.2.1esr-45.1 |
| SUSE:Linux Enterprise Desktop 12 | MozillaFirefox-branding-SLE | 0 | 31.0-14.1 |
| SUSE:Linux Enterprise Desktop 12 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Desktop 12 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Desktop 12 SP3 | gdk-pixbuf | 0 | 2.34.0-19.14.2 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | MozillaFirefox | 0 | 38.2.0esr-10.1 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | MozillaFirefox-branding-SLED | 0 | 31.0-0.5.7.11 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | firefox-gcc47 | 0 | 4.7.2_20130108-0.37.2 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | mozilla-nss | 0 | 3.19.2.0-0.7.1 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | MozillaFirefox | 0 | 38.2.0esr-10.1 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | MozillaFirefox-branding-SLED | 0 | 31.0-0.5.7.11 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | firefox-gcc47 | 0 | 4.7.2_20130108-0.37.2 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | mozilla-nss | 0 | 3.19.2.0-0.7.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | MozillaFirefox | 0 | 38.2.0esr-10.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | MozillaFirefox-branding-SLED | 0 | 31.0-0.5.7.11 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | firefox-gcc47 | 0 | 4.7.2_20130108-0.37.2 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | mozilla-nss | 0 | 3.19.2.0-0.7.1 |
| SUSE:Linux Enterprise Server 11 SP3 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Server 11 SP3 | MozillaFirefox-branding-SLED | 0 | 31.0-0.12.51 |
| SUSE:Linux Enterprise Server 11 SP3 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Server 11 SP3 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | MozillaFirefox-branding-SLED | 0 | 31.0-0.12.51 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Server 11 SP4 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Server 11 SP4 | MozillaFirefox-branding-SLED | 0 | 31.0-0.12.51 |
| SUSE:Linux Enterprise Server 11 SP4 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Server 11 SP4 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Server 12 | MozillaFirefox | 0 | 38.2.1esr-45.1 |
| SUSE:Linux Enterprise Server 12 | MozillaFirefox-branding-SLE | 0 | 31.0-14.1 |
| SUSE:Linux Enterprise Server 12 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Server 12 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| SUSE:Linux Enterprise Server 12 SP1 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Server 12 SP3 | gdk-pixbuf | 0 | 2.34.0-19.14.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | MozillaFirefox-branding-SLED | 0 | 31.0-0.12.51 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | MozillaFirefox-branding-SLED | 0 | 31.0-0.12.51 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | MozillaFirefox | 0 | 38.2.1esr-45.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | MozillaFirefox-branding-SLE | 0 | 31.0-14.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | gdk-pixbuf | 0 | 2.34.0-19.14.2 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | MozillaFirefox | 0 | 38.2.1esr-19.3 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | gtk2 | 0 | 2.18.9-0.35.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | mozilla-nss | 0 | 3.19.2.0-0.16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | MozillaFirefox | 0 | 38.2.1esr-45.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Software Development Kit 12 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | gdk-pixbuf | 0 | 2.30.6-7.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | gdk-pixbuf | 0 | 2.34.0-19.14.2 |
| Ubuntu:14.04:LTS | firefox | 0 | 40.0+build4-0ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | gdk-pixbuf | 0 | 2.30.7-0ubuntu1.1 |
| Ubuntu:14.04:LTS | thunderbird | 0 | 1:38.2.0+build1-0ubuntu0.14.04.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 50.1.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 45.5.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
| openSUSE:Tumbleweed | gdk-pixbuf | 0 | 2.36.0-1.1 |
Related vulnerabilities
- CVE-2017-2862 An exploitable heap overflow vulnerability exists in the… Also affects gdk-pixbuf
- CVE-2015-7552 Heap-based buffer overflow in the gdk_pixbuf_flip function in gdk-pixbuf-scale.c in… Also affects gdk-pixbuf
- CVE-2015-7673 io-tga.c in gdk-pixbuf before 2.32.0 uses heap memory after its allocation failed, which… Also affects gdk-pixbuf
- CVE-2024-6655 A flaw was found in the GTK library. Also affects gtk+2.0
- CVE-2013-7447 Integer overflow in the gdk_cairo_set_source_pixbuf function in gdk/gdkcairo.c in GTK+… Also affects gtk+2.0
- CVE-2015-4497 Use-after-free vulnerability in the CanvasRenderingContext2D implementation in Mozilla… Also affects firefox
- CVE-2015-4473 Multiple unspecified vulnerabilities in the browser engine in Mozilla Firefox before 40.0… Also affects firefox
- CVE-2015-4495 The PDF reader in Mozilla Firefox before 39.0.3, Firefox ESR 38.x before 38.1.1, and… Also affects firefox