CVE-2024-33255
Medium · 6.2CVSS
6.2
EPSS
0.3%
Published
Apr 26, 2024
CISA due date
—
Cloudanix analysis
A flaw in a lightweight JavaScript engine can make programs using it suddenly stop working when they receive certain unusual inputs.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- No Fix Yet
- Effort
- Other
- Patch risk
- Other
What it actually does
Assertion failure in ECMA_STRING_IS_REF_EQUALS_TO_ONE during ecma_free_string_list causes the JerryScript engine to terminate unexpectedly when processing certain string reference operations.
Why it matters to the business
Applications relying on JerryScript for embedded scripting may experience sudden crashes and service interruptions when handling untrusted or malformed JavaScript inputs, leading to operational downtime.
How an attack unfolds
An attacker crafts JavaScript code that manipulates string references to violate internal invariants, triggering the assertion failure in the engine's string cleanup routine and forcing a crash without requiring authentication or elevated privileges.
How to fix it
Update JerryScript to a version that resolves the assertion failure in string reference handling; until a fix is available, restrict processing of untrusted scripts and implement input validation or sandboxing around the engine.
How to confirm the fix worked
Test the engine with previously crashing string manipulation test cases to confirm absence of the assertion failure; monitor process stability under load with varied JavaScript inputs.
Typical attack path
- Supply crafted JavaScript input to the target application using JerryScript
- Trigger string allocation and reference counting operations
- Force execution path through ecma_free_string_list
- Violate the ECMA_STRING_IS_REF_EQUALS_TO_ONE assertion
- Cause process termination and denial of service
How to detect it
Review application and system logs for abrupt JerryScript process terminations or assertion-related error messages during script execution; correlate crashes with incoming JavaScript payloads.
What your security team should do
- Prioritize patching JerryScript in all embedded and IoT deployments
- Implement runtime monitoring for unexpected engine crashes
- Reduce exposure by sandboxing script execution environments
The record
Jerryscript commit cefd391 was discovered to contain an Assertion Failure via ECMA_STRING_IS_REF_EQUALS_TO_ONE (string_p) in ecma_free_string_list.
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-33260 Jerryscript commit cefd391 was discovered to contain a segmentation violation via the… Also affects iotjs
- CVE-2024-33258 Jerryscript commit ff9ff8f 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