CVE-2015-4497
NoneCVSS
—
EPSS
8.0%
Published
Aug 29, 2015
CISA due date
—
Cloudanix analysis
A flaw in how certain graphics elements are handled in older browser software lets attackers take over a user's computer simply by getting them to visit a malicious webpage.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in CanvasRenderingContext2D triggered by resize events interacting with CSS token sequence changes on a CANVAS element, enabling arbitrary code execution.
Why it matters to the business
Attackers can run malicious code on affected systems, leading to full compromise, data theft, or service disruption; the issue affects older browser versions still in limited use despite being years old.
How an attack unfolds
An attacker crafts a malicious web page containing a CANVAS element with specific CSS and resize event handlers that trigger the use-after-free condition, allowing memory corruption and code execution in the browser process.
How to fix it
Upgrade radare2 to version 1.1.0+dfsg-3 or later on Debian 13 systems and apply commit ad55822430a03fe075221b543efb434567e9e431 or newer for GIT builds; replace any embedded or bundled older Firefox components if present.
How to confirm the fix worked
Verify installed package versions match or exceed the listed fixed releases using package managers or build logs; test affected CANVAS functionality in updated browser or component builds to confirm absence of the crash condition.
Typical attack path
- Host malicious page on attacker-controlled site or compromised legitimate site
- Lure victim to visit the page via phishing or malvertising
- Page loads CANVAS element and manipulates CSS tokens while triggering resize events
- Use-after-free occurs leading to memory corruption and shellcode execution
How to detect it
Review web server access logs and browser crash reports for visits to suspicious pages with heavy CANVAS manipulation; examine memory dumps or process crashes around resize and CSS events in older browser instances.
What your security team should do
- Prioritize updating all radare2 instances to the specified fixed versions immediately
- Scan internal repositories and build pipelines for older radare2 or affected Firefox dependencies
- Monitor for any remaining instances of vulnerable versions through asset inventory
The record
Use-after-free vulnerability in the CanvasRenderingContext2D implementation in Mozilla Firefox before 40.0.3 and Firefox ESR 38.x before 38.2.1 allows remote attackers to execute arbitrary code by leveraging improper interaction between resize events and changes to Cascading Style Sheets (CSS) token sequences for a CANVAS element.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:7 | iceweasel | 0 | 38.2.1esr-1~deb7u1 |
| Debian:8 | iceweasel | 0 | 38.2.1esr-1~deb8u1 |
| Mageia:4 | firefox | 0 | 38.2.1-1.mga4 |
| Mageia:4 | firefox-l10n | 0 | 38.2.1-1.mga4 |
| Mageia:4 | nspr | 0 | 4.10.9-1.mga4 |
| Mageia:4 | nss | 0 | 3.20.0-1.mga4 |
| Mageia:5 | firefox | 0 | 38.2.1-1.mga5 |
| Mageia:5 | firefox-l10n | 0 | 38.2.1-1.mga5 |
| Mageia:5 | nspr | 0 | 4.10.9-1.mga5 |
| Mageia:5 | nss | 0 | 3.20.0-1.mga5 |
| Red Hat:enterprise_linux:5::client | firefox | 0 | 0:38.2.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client | firefox-debuginfo | 0 | 0:38.2.1-1.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox | 0 | 0:38.2.1-1.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox-debuginfo | 0 | 0:38.2.1-1.el5_11 |
| Red Hat:enterprise_linux:6::client | firefox | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:6::client | firefox-debuginfo | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:6::computenode | firefox | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:6::computenode | firefox-debuginfo | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:6::server | firefox | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:6::server | firefox-debuginfo | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:6::workstation | firefox | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:6::workstation | firefox-debuginfo | 0 | 0:38.2.1-1.el6_7 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:38.2.1-1.el7_1 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:38.2.1-1.el7_1 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:38.2.1-1.el7_1 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:38.2.1-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:38.2.1-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:38.2.1-1.el7_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 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | MozillaFirefox | 0 | 38.2.1esr-17.1 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | MozillaFirefox | 0 | 38.2.1esr-17.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | MozillaFirefox | 0 | 38.2.1esr-17.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 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| 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 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| SUSE:Linux Enterprise Software Development Kit 12 | MozillaFirefox | 0 | 38.2.1esr-45.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | mozilla-nss | 0 | 3.19.2.0-26.2 |
| Ubuntu:14.04:LTS | firefox | 0 | 40.0.3+build1-0ubuntu0.14.04.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 50.1.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2016-1977 The Machine::Code::decoder::analysis::set_ref function in Graphite 2 before 1.3.6, as… Also affects iceweasel
- CVE-2016-1960 Integer underflow in the nsHtml5TreeBuilder class in the HTML5 string parser in Mozilla… Also affects iceweasel
- CVE-2016-1950 Heap-based buffer overflow in Mozilla Network Security Services (NSS) before 3.19.2.3 and… Also affects iceweasel
- CVE-2016-1930 Multiple unspecified vulnerabilities in the browser engine in Mozilla Firefox before 44.0… Also affects iceweasel
- CVE-2015-7575 Mozilla Network Security Services (NSS) before 3.20.2, as used in Mozilla Firefox before… Also affects iceweasel
- CVE-2015-7201 Multiple unspecified vulnerabilities in the browser engine in Mozilla Firefox before 43.0… Also affects iceweasel
- CVE-2015-7183 Integer overflow in the PL_ARENA_ALLOCATE implementation in Netscape Portable Runtime… Also affects iceweasel
- CVE-2015-7182 Heap-based buffer overflow in the ASN.1 decoder in Mozilla Network Security Services… Also affects iceweasel