CVE-2021-46350
Medium · 5.5CVSS
5.5
EPSS
0.6%
Published
Jan 20, 2022
CISA due date
—
Cloudanix analysis
A bug in a JavaScript engine can make programs using it stop working when they receive certain bad data, causing temporary outages.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw triggers an assertion failure 'ecma_is_value_object (value)' in jerry-core/ecma/base/ecma-helpers-value.c when processing crafted ECMAScript input, causing an immediate process crash and denial of service.
Why it matters to the business
Applications embedding JerryScript become unavailable when fed malicious input, resulting in service outages, potential loss of in-memory state, and operational disruption until the process is restarted.
How an attack unfolds
An attacker supplies specially crafted JavaScript to the JerryScript engine; the input reaches the ecma-helpers-value path and violates the object-type assertion, terminating the process. Public exploit code is available to automate delivery of the crashing payload.
How to fix it
Upgrade to a JerryScript build that removes or guards the failing assertion and handles the value safely; if no patched release exists, isolate the engine from untrusted input or replace it with a maintained alternative.
How to confirm the fix worked
Run the engine against known crashing test cases in a controlled environment and confirm absence of the assertion abort; monitor process stability under load with the same inputs.
Typical attack path
- Identify an application or service that embeds the vulnerable JerryScript engine and accepts untrusted scripts or data
- Craft or obtain input that violates the ecma_is_value_object assertion
- Deliver the input locally to the target process (file, stdin, or API call)
- Trigger execution so the assertion is evaluated, causing immediate crash
- Repeat or automate to sustain denial of service
How to detect it
Review application and system logs for abrupt process exits, segmentation faults, or messages referencing ecma-helpers-value.c or the failed assertion; correlate with recent file or input activity involving JavaScript content.
What your security team should do
- Prioritize removal of untrusted script execution or sandbox the JerryScript process with strict resource limits
- Inventory all products and services using JerryScript 3.0.0 and schedule upgrades or replacement
- Add runtime monitoring for unexpected process terminations and alert on assertion-related crashes
- Disable or restrict local execution paths that accept external ECMAScript until fixed
The record
There is an Assertion 'ecma_is_value_object (value)' failed at jerryscript/jerry-core/ecma/base/ecma-helpers-value.c in JerryScript 3.0.0.
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 |
| conan | jerryscript | 3.0.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-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