CVE-2019-9810
High · 8.8CVSS
8.8
EPSS
27.2%
Published
Apr 26, 2019
CISA due date
—
Cloudanix analysis
A flaw in older web browsers and email programs could let attackers take control of a computer simply by getting the user to visit a harmful webpage.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Incorrect alias information in IonMonkey JIT compiler for Array.prototype.slice causes missing bounds checks, resulting in a buffer overflow that corrupts memory and can lead to arbitrary code execution.
Why it matters to the business
Unpatched systems remain exposed to remote compromise years after disclosure, potentially allowing data theft, persistent access, or malware deployment across widely deployed browser and email clients in enterprise environments.
How an attack unfolds
An attacker hosts a malicious webpage containing crafted JavaScript that invokes Array.prototype.slice under conditions triggering the JIT alias flaw; when the victim loads the page the missing bounds check permits buffer overflow, enabling shellcode injection and remote code execution.
How to fix it
Upgrade Mozilla Firefox to 66.0.1 or newer, Firefox ESR to 60.6.1 or newer, and Thunderbird to 60.6.1 or newer; apply equivalent patches from Red Hat or other distributors for affected enterprise packages.
How to confirm the fix worked
Confirm installed versions meet or exceed the fixed releases listed above; re-test with known proof-of-concept JavaScript triggers in a lab environment to verify absence of the alias error.
Typical attack path
- Attacker prepares malicious webpage embedding exploit JavaScript targeting IonMonkey
- Victim is lured to the page via phishing or compromised site
- Browser JIT compiles the slice operation with incorrect alias data
- Bounds check is elided, allowing out-of-bounds write
- Attacker gains memory corruption primitive and achieves code execution
How to detect it
Review browser process crash logs and JIT compiler telemetry for anomalous slice-related faults; inspect web proxy or endpoint logs for visits to domains hosting known exploit kits that target this class of JIT memory corruption.
What your security team should do
- Immediately inventory and update all Firefox, ESR, and Thunderbird instances across the environment
- Block or sandbox legacy unpatched browser versions via enterprise policy
- Monitor EPSS trend and exploit availability for any renewed campaign activity
- Include browser update status in regular vulnerability scanning and patch compliance reporting
The record
Incorrect alias information in IonMonkey JIT compiler for Array.prototype.slice method may lead to missing bounds check and a buffer overflow. This vulnerability affects Firefox < 66.0.1, Firefox ESR < 60.6.1, and Thunderbird < 60.6.1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | firefox-esr | 0 | 60.6.1esr-1 |
| Debian:12 | firefox-esr | 0 | 60.6.1esr-1 |
| Debian:13 | firefox-esr | 0 | 60.6.1esr-1 |
| Debian:8 | firefox-esr | 0 | 60.6.1esr-1~deb8u1 |
| Debian:9 | firefox-esr | 0 | 60.6.1esr-1~deb9u1 |
| Mageia:6 | firefox | 0 | 60.6.1-2.mga6 |
| Mageia:6 | firefox-l10n | 0 | 60.6.1-1.mga6 |
| Mageia:6 | thunderbird | 0 | 60.6.1-1.mga6 |
| Mageia:6 | thunderbird-l10n | 0 | 60.6.1-1.mga6 |
| Red Hat:enterprise_linux:6::client | firefox | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::client | firefox-debuginfo | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::client | thunderbird | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::client | thunderbird-debuginfo | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::computenode | firefox | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::computenode | firefox-debuginfo | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::server | firefox | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::server | firefox-debuginfo | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::server | thunderbird | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::server | thunderbird-debuginfo | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::workstation | firefox | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::workstation | firefox-debuginfo | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::workstation | thunderbird | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:6::workstation | thunderbird-debuginfo | 0 | 0:60.6.1-1.el6_10 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:60.6.1-1.el7_6 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:60.6.1-1.el8 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:60.6.1-1.el8 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:60.6.1-1.el8 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:60.6.1-1.el8 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:60.6.1-1.el8 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:60.6.1-1.el8 |
| SUSE:Enterprise Storage 4 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Desktop 12 SP3 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Desktop 12 SP4 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 | MozillaFirefox | 0 | 60.6.1-3.29.3 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server 12 SP3 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server 12 SP4 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server 12-LTSS | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Linux Enterprise Workstation Extension 15 | MozillaThunderbird | 0 | 60.6.1-3.28.1 |
| SUSE:OpenStack Cloud 7 | MozillaFirefox | 0 | 60.6.1esr-109.63.2 |
| SUSE:Package Hub 12 | MozillaThunderbird | 0 | 60.6.1-82.1 |
| Ubuntu:14.04:LTS | firefox | 0 | 66.0.1+build1-0ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | thunderbird | 0 | 1:60.6.1+build2-0ubuntu0.14.04.1 |
| Ubuntu:16.04:LTS | firefox | 0 | 66.0.1+build1-0ubuntu0.16.04.1 |
| Ubuntu:16.04:LTS | thunderbird | 0 | 1:60.6.1+build2-0ubuntu0.16.04.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 66.0.1+build1-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:18.04:LTS | thunderbird | 0 | 1:60.6.1+build2-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs52 | 0 | No fix |
| openSUSE:Leap 15.0 | MozillaFirefox | 0 | 60.6.1-lp150.3.45.1 |
| openSUSE:Leap 15.0 | MozillaThunderbird | 0 | 60.6.1-lp150.3.37.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 92.0-1.2 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 91.1.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