CVE-2016-5290
Critical · 9.8CVSS
9.8
EPSS
3.2%
Published
Jun 11, 2018
CISA due date
—
Cloudanix analysis
Outdated web browsers can be tricked by malicious websites into letting attackers take over the computer and run any code they want.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Multiple memory safety issues including memory corruption in the browser engine allow an attacker to achieve arbitrary code execution by triggering use-after-free or similar flaws during content processing.
Why it matters to the business
Attackers can fully compromise user workstations running outdated browser versions, enabling theft of credentials, installation of persistent malware, or lateral movement with no user interaction beyond visiting a malicious site; the vulnerability has been public for years with stable low exploitation probability and no known ransomware campaigns.
How an attack unfolds
An attacker hosts or compromises a website that delivers specially crafted HTML, JavaScript, or media content; when a vulnerable browser parses and renders the page, one of the memory safety bugs is triggered, corrupting memory structures and allowing the attacker to redirect execution flow to attacker-controlled shellcode.
How to fix it
Upgrade Mozilla Firefox to version 50 or later, Firefox ESR to 45.5 or later, and Thunderbird to 45.5 or later. Where immediate updates are not possible, isolate affected systems from untrusted networks and enforce strict content filtering.
How to confirm the fix worked
Verify installed browser versions against the fixed releases (Firefox >=50, ESR >=45.5, Thunderbird >=45.5); re-scan endpoints after patching and confirm absence of crash signatures associated with the memory corruption vectors.
Typical attack path
- Attacker prepares malicious web content exploiting memory corruption primitives
- Victim visits the attacker-controlled or compromised site with a vulnerable browser
- Browser engine processes the content and hits a memory safety flaw
- Corruption is leveraged to achieve code execution within the browser process
- Attacker payload executes, establishing C2 or dropping additional malware
How to detect it
Review browser crash logs and telemetry for segmentation faults or heap corruption patterns around the time of suspected visits to untrusted sites; correlate with web proxy or endpoint logs showing access to suspicious domains shortly before anomalous process activity.
What your security team should do
- Immediately inventory all instances of Firefox, Firefox ESR, and Thunderbird and apply the version upgrades listed in remediation guidance
- Block or sandbox legacy browser traffic until patches are deployed
- Monitor for any post-patch anomalies in browser crash reports or unexpected process behavior
The record
Memory safety bugs were reported in Firefox 49 and Firefox ESR 45.4. Some of these bugs showed evidence of memory corruption and we presume that with enough effort that some of these could be exploited to run arbitrary code. This vulnerability affects Thunderbird < 45.5, Firefox ESR < 45.5, and Firefox < 50.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | firefox-esr | 0 | 45.5.0esr-1 |
| Debian:12 | firefox-esr | 0 | 45.5.0esr-1 |
| Debian:13 | firefox-esr | 0 | 45.5.0esr-1 |
| Debian:7 | firefox-esr | 0 | 45.5.1esr-1~deb7u1 |
| Debian:7 | icedove | 0 | 1:45.5.1-1~deb7u1 |
| Debian:8 | firefox-esr | 0 | 45.5.0esr-1~deb8u1 |
| Debian:8 | icedove | 0 | 1:45.5.1-1~deb8u1 |
| Mageia:5 | firefox | 0 | 45.5.0-1.mga5 |
| Mageia:5 | firefox-l10n | 0 | 45.5.0-1.mga5 |
| Mageia:5 | iceape | 0 | 2.48-1.mga5 |
| Mageia:5 | nspr | 0 | 4.13.1-1.mga5 |
| Mageia:5 | nss | 0 | 3.27.1-1.mga5 |
| Mageia:5 | rootcerts | 0 | 20160922.00-1.mga5 |
| Mageia:5 | thunderbird | 0 | 45.5.1-1.mga5 |
| Mageia:5 | thunderbird-l10n | 0 | 45.5.1-1.mga5 |
| Mageia:6 | iceape | 0 | 2.48-1.mga6 |
| Red Hat:enterprise_linux:5::client | firefox | 0 | 0:45.5.0-1.el5_11 |
| Red Hat:enterprise_linux:5::client | firefox-debuginfo | 0 | 0:45.5.0-1.el5_11 |
| Red Hat:enterprise_linux:5::client | thunderbird | 0 | 0:45.5.0-1.el5_11 |
| Red Hat:enterprise_linux:5::client | thunderbird-debuginfo | 0 | 0:45.5.0-1.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox | 0 | 0:45.5.0-1.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox-debuginfo | 0 | 0:45.5.0-1.el5_11 |
| Red Hat:enterprise_linux:6::client | firefox | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::client | firefox-debuginfo | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::client | thunderbird | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::client | thunderbird-debuginfo | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::computenode | firefox | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::computenode | firefox-debuginfo | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::server | firefox | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::server | firefox-debuginfo | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::server | thunderbird | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::server | thunderbird-debuginfo | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::workstation | firefox | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::workstation | firefox-debuginfo | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::workstation | thunderbird | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:6::workstation | thunderbird-debuginfo | 0 | 0:45.5.0-1.el6_8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:45.5.0-1.el7_3 |
| Red Hat:rhel_productivity:5 | thunderbird | 0 | 0:45.5.0-1.el5_11 |
| Red Hat:rhel_productivity:5 | thunderbird-debuginfo | 0 | 0:45.5.0-1.el5_11 |
| SUSE:Linux Enterprise Desktop 12 SP1 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | MozillaFirefox | 0 | 45.5.1esr-63.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | mozilla-nss | 0 | 3.21.3-30.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Linux Enterprise Server 11 SP4 | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Linux Enterprise Server 11 SP4 | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Linux Enterprise Server 12 SP1 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Server 12 SP1 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Server 12 SP2 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Server 12 SP2 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Server 12-LTSS | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Server 12-LTSS | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | MozillaFirefox | 0 | 45.5.0esr-88.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | mozilla-nss | 0 | 3.21.3-50.1 |
| SUSE:Manager 2.1 | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Manager 2.1 | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Manager Proxy 2.1 | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:Manager Proxy 2.1 | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:OpenStack Cloud 5 | MozillaFirefox | 0 | 45.5.1esr-59.1 |
| SUSE:OpenStack Cloud 5 | mozilla-nss | 0 | 3.21.3-39.1 |
| SUSE:Package Hub 12 | MozillaThunderbird | 0 | 45.5.1-17.1 |
| Ubuntu:14.04:LTS | firefox | 0 | 50.0+build2-0ubuntu0.14.04.2 |
| Ubuntu:14.04:LTS | thunderbird | 0 | 1:45.5.1+build1-0ubuntu0.14.04.1 |
| Ubuntu:16.04:LTS | firefox | 0 | 50.0+build2-0ubuntu0.16.04.2 |
| Ubuntu:16.04:LTS | thunderbird | 0 | 1:45.5.1+build1-0ubuntu0.16.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 |
Related vulnerabilities
- CVE-2025-0243 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 128.5, and… Also affects firefox-esr
- CVE-2025-0237 The WebChannel API, which is used to transport various information across processes, did… Also affects firefox-esr
- CVE-2025-0238 Assuming a controlled failed memory allocation, an attacker could have caused a… Also affects firefox-esr
- CVE-2025-0240 Parsing a JavaScript module as JSON could, under some circumstances, cause… Also affects firefox-esr
- CVE-2025-0239 When using Alt-Svc, ALPN did not properly validate certificates when the original server… Also affects firefox-esr
- CVE-2025-0241 When segmenting specially crafted text, segmentation would corrupt memory leading to a… Also affects firefox-esr
- CVE-2025-0242 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 115.18, Firefox… Also affects firefox-esr
- CVE-2024-11704 A double-free issue could have occurred in `sec_pkcs7_decoder_start_decrypt()` when… Also affects firefox-esr