CVE-2024-3858
NoneCVSS
—
EPSS
0.6%
Published
Apr 16, 2024
CISA due date
—
Cloudanix analysis
A flaw in the browser's speed-up engine could let a malicious website crash the program or take control of it, so updating the browser removes the weakness.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Mutation of a JavaScript object allows the JIT compiler to encounter inconsistent state during tracing, resulting in memory corruption and potential process crash or control-flow hijack.
Why it matters to the business
Browser users face elevated risk of remote code execution or denial of service when visiting attacker-controlled web pages, increasing exposure for any organization whose workforce relies on the affected browser version.
How an attack unfolds
An attacker hosts a malicious web page containing specially crafted JavaScript that mutates an object after the JIT has begun tracing it; the resulting inconsistent internal state is then leveraged to corrupt memory and achieve arbitrary code execution within the browser process.
How to fix it
Upgrade Firefox to version 125 or later as soon as possible; enable automatic updates and verify the installed version meets or exceeds the fixed release.
How to confirm the fix worked
Confirm the browser reports version 125 or higher; test that the previously reproducible crash no longer occurs when loading a proof-of-concept page that performs the object mutation under JIT tracing.
Typical attack path
- Deliver malicious JavaScript via a crafted webpage or third-party script
- Trigger JIT compilation and tracing on the target object
- Mutate the object mid-tracing to induce inconsistent JIT state
- Exploit resulting memory corruption to execute attacker-controlled code
- Establish persistence or exfiltrate data within the compromised browser context
How to detect it
Review browser process crash logs and telemetry for JIT-related faults on unpatched versions; correlate web request logs to pages that trigger heavy JavaScript execution shortly before crashes.
What your security team should do
- Prioritize deployment of Firefox 125+ across all managed endpoints within the next patching cycle
- Monitor EPSS and exploit maturity indicators for any future increase in weaponization
- Block known malicious domains that serve browser-targeted payloads until patches are applied
The record
It was possible to mutate a JavaScript object so that the JIT could crash while tracing it. This vulnerability affects Firefox < 125.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 125.0.2+build1-0ubuntu0.20.04.2 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:24.04:LTS | mozjs102 | 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 |
| Ubuntu:Pro:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:Pro:24.04:LTS | mozjs102 | 0 | No fix |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 125.0.2-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 mozjs38
- CVE-2025-0237 The WebChannel API, which is used to transport various information across processes, did… Also affects mozjs38
- CVE-2025-0238 Assuming a controlled failed memory allocation, an attacker could have caused a… Also affects mozjs38
- CVE-2025-0240 Parsing a JavaScript module as JSON could, under some circumstances, cause… Also affects mozjs38
- CVE-2025-0239 When using Alt-Svc, ALPN did not properly validate certificates when the original server… Also affects mozjs38
- CVE-2025-0241 When segmenting specially crafted text, segmentation would corrupt memory leading to a… Also affects mozjs38
- CVE-2025-0242 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 115.18, Firefox… Also affects mozjs38
- CVE-2024-11704 A double-free issue could have occurred in `sec_pkcs7_decoder_start_decrypt()` when… Also affects mozjs38