CVE-2024-33258
High · 7.1CVSS
7.1
EPSS
0.3%
Published
Apr 26, 2024
CISA due date
—
Cloudanix analysis
A bug in a JavaScript engine can let attackers crash programs or take control of a computer when someone runs a specially crafted script.
- Exploitation
- Requires User Interaction
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- No Fix Yet
- Effort
- Other
- Patch risk
- Other
What it actually does
A segmentation violation in the vm_loop component of the JavaScript virtual machine allows memory corruption that can lead to denial of service or arbitrary code execution when processing crafted input.
Why it matters to the business
Applications embedding the JavaScript engine may crash or be compromised when users open malicious files, resulting in service disruption, data exposure, or full system takeover on affected systems.
How an attack unfolds
An attacker crafts a malicious JavaScript payload that triggers the segmentation violation inside the VM execution loop; when a victim runs the script locally with user interaction, the flaw is reached and memory corruption occurs, enabling further exploitation.
How to fix it
Update the JavaScript engine to a version that resolves the segmentation violation in vm_loop; rebuild and redeploy all dependent applications with the patched engine.
How to confirm the fix worked
Confirm the engine version or commit hash is newer than the vulnerable ff9ff8f; run regression tests with known triggering inputs to verify absence of the crash.
Typical attack path
- Identify or create a target application that embeds the vulnerable JavaScript engine
- Craft malicious JavaScript input designed to reach the vm_loop function
- Deliver the payload to the victim requiring local execution and user interaction
- Trigger the segmentation violation to achieve memory corruption and subsequent control-flow hijacking
How to detect it
Review application crash logs and core dumps for segmentation faults originating from the JavaScript virtual machine execution loop; correlate with execution of untrusted scripts.
What your security team should do
- Prioritize patching the JavaScript engine in all embedded products due to high confidentiality and integrity impact
- Monitor upstream project commits for the fix and schedule rebuilds of affected applications
- Restrict execution of untrusted JavaScript until patches are applied
The record
Jerryscript commit ff9ff8f was discovered to contain a segmentation violation via the component vm_loop at jerry-core/vm/vm.c.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:18.04:LTS | iotjs | 0 | No fix |
| Ubuntu:22.04:LTS | iotjs | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | iotjs | 0 | No fix |
Related vulnerabilities
- CVE-2024-33255 Jerryscript commit cefd391 was discovered to contain an Assertion Failure via… Also affects iotjs
- CVE-2024-33260 Jerryscript commit cefd391 was discovered to contain a segmentation violation via the… Also affects iotjs
- CVE-2024-33259 Jerryscript commit cefd391 was discovered to contain a segmentation violation via the… Also affects iotjs
- CVE-2023-36109 Buffer Overflow vulnerability in JerryScript version 3.0, allows remote attackers to… Also affects iotjs
- CVE-2023-38961 Buffer Overflwo vulnerability in JerryScript Project jerryscript v.3.0.0 allows a remote… Also affects iotjs
- CVE-2023-36201 An issue in JerryscriptProject jerryscript v.3.0.0 allows an attacker to obtain sensitive… Also affects iotjs
- CVE-2023-34867 Jerryscript 3.0 (commit 05dbbd1) was discovered to contain an Assertion Failure via the… Also affects iotjs
- CVE-2023-34868 Jerryscript 3.0 (commit 05dbbd1) was discovered to contain an Assertion Failure via the… Also affects iotjs