CVE-2024-4775
Medium · 5.9CVSS
5.9
EPSS
0.2%
Published
May 14, 2024
CISA due date
—
Cloudanix analysis
A problem in the browser's code profiler could let someone mess with memory when certain advanced code is being measured, but only while the profiler is turned on.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Other
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing iterator stop condition when processing WASM in the built-in profiler leads to invalid memory access and undefined behavior, but only when the profiler is active.
Why it matters to the business
Potential application instability or limited memory corruption when profiling WASM workloads; low likelihood of widespread impact given narrow trigger conditions and low exploit probability.
How an attack unfolds
An attacker with the ability to execute code locally supplies specially crafted WASM while the profiler is enabled, causing the missing stop condition to trigger out-of-bounds access during iteration.
How to fix it
Upgrade to a version that implements the correct iterator stop condition in the profiler (Firefox 126 or later). Disable the profiler when not required as a temporary mitigation.
How to confirm the fix worked
Confirm the installed version is 126 or newer; exercise the profiler against representative WASM workloads and verify absence of memory errors or crashes.
Typical attack path
- Enable the built-in profiler
- Load or execute attacker-controlled WASM code
- Trigger the profiler's iteration logic over the WASM data
- Exploit resulting invalid memory access for limited read/write or crash
How to detect it
Review application crash logs and memory error reports that coincide with profiler activation on WASM content; no public exploitation artifacts are known.
What your security team should do
- Apply the vendor update to close the iterator flaw
- Audit environments where the profiler is routinely enabled
- Monitor for any future profiler-related memory issues
The record
An iterator stop condition was missing when handling WASM code in the built-in profiler, potentially leading to invalid memory access and undefined behavior. *Note:* This issue only affects the application when the profiler is running. This vulnerability affects Firefox < 126.
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 | 126.0+build2-0ubuntu0.20.04.1 |
| 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 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 126.0-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