CVE-2015-0817
NoneCVSS
—
EPSS
3.7%
Published
Mar 24, 2015
CISA due date
—
Cloudanix analysis
An old flaw in certain web browsers could let attackers take control of a computer simply by getting the user to visit a harmful website.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The asm.js implementation fails to correctly determine safe bounds-checking elision cases during JIT compilation, permitting crafted JavaScript to perform out-of-bounds reads and writes into process memory and achieve arbitrary code execution.
Why it matters to the business
Attackers can silently compromise user systems through malicious web content, leading to data theft, credential capture, or malware installation; the vulnerability is over a decade old with stable low exploitation probability and no known ransomware usage.
How an attack unfolds
An attacker hosts a web page containing specially crafted asm.js code that triggers the bounds-checking flaw during JIT compilation; when a user visits the page with an affected browser, the script reads or writes arbitrary memory locations to execute attacker-controlled code.
How to fix it
Upgrade Mozilla Firefox to version 36.0.3 or later, Firefox ESR 31.x to 31.5.2 or later, and SeaMonkey to 2.33.1 or later; disable JavaScript where feasible or enforce strict content security policies as a temporary mitigation.
How to confirm the fix worked
Confirm browser version numbers match or exceed the fixed releases listed in the remediation guidance; re-test affected asm.js test cases in a lab environment to verify bounds checks are no longer elided incorrectly.
Typical attack path
- Attacker crafts malicious JavaScript using asm.js features that bypass intended bounds checks
- Victim is lured to a web page serving the exploit (via phishing, compromised site, or ad network)
- Browser JIT compiler processes the asm.js code and skips required bounds validation
- Script performs out-of-bounds memory access to corrupt data structures or inject shellcode
- Arbitrary code executes with the privileges of the browser process
How to detect it
Review web proxy, browser telemetry, and endpoint logs for visits to unexpected domains followed by anomalous process creation or memory allocation patterns originating from browser processes; because the issue is historical and unexploited in KEV, focus on retrospective hunting for post-2015 artifacts in preserved logs.
What your security team should do
- Prioritize inventory of all Mozilla browser deployments and schedule immediate upgrades to the fixed versions
- Monitor EPSS and threat intelligence feeds for any future increase in exploitation activity despite current low scores
- Apply network-level controls to block known malicious domains until patching is complete
The record
The asm.js implementation in Mozilla Firefox before 36.0.3, Firefox ESR 31.x before 31.5.2, and SeaMonkey before 2.33.1 does not properly determine the cases in which bounds checking may be safely skipped during JIT compilation and heap access, which allows remote attackers to read or write to unintended memory locations, and consequently execute arbitrary code, via crafted JavaScript.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:7 | iceweasel | 0 | 31.5.3esr-1~deb7u1 |
| Mageia:4 | firefox | 0 | 31.5.3-1.mga4 |
| Mageia:4 | firefox-l10n | 0 | 31.5.3-1.mga4 |
| Mageia:4 | iceape | 0 | 2.33.1-1.mga4 |
| Mageia:4 | nss | 0 | 3.18.0-1.mga4 |
| Mageia:4 | rootcerts | 0 | 20150226.00-1.mga4 |
| Red Hat:enterprise_linux:5::client | firefox | 0 | 0:31.5.3-1.el5_11 |
| Red Hat:enterprise_linux:5::client | firefox-debuginfo | 0 | 0:31.5.3-1.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox | 0 | 0:31.5.3-1.el5_11 |
| Red Hat:enterprise_linux:5::server | firefox-debuginfo | 0 | 0:31.5.3-1.el5_11 |
| Red Hat:enterprise_linux:6::client | firefox | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:6::client | firefox-debuginfo | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | firefox | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | firefox-debuginfo | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:6::server | firefox | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:6::server | firefox-debuginfo | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | firefox | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | firefox-debuginfo | 0 | 0:31.5.3-1.el6_6 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:31.5.3-3.el7_1 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:31.5.3-3.el7_1 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:31.5.3-3.el7_1 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:31.5.3-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:31.5.3-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:31.5.3-3.el7_1 |
| SUSE:Linux Enterprise Desktop 12 | MozillaFirefox | 0 | 31.5.3esr-27.1 |
| SUSE:Linux Enterprise Server 12 | MozillaFirefox | 0 | 31.5.3esr-27.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | MozillaFirefox | 0 | 31.5.3esr-27.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | MozillaFirefox | 0 | 31.5.3esr-27.1 |
| Ubuntu:14.04:LTS | firefox | 0 | 36.0.4+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