CVE-2021-46345
Medium · 5.5CVSS
5.5
EPSS
0.6%
Published
Jan 20, 2022
CISA due date
—
Cloudanix analysis
A problem handling certain text formats can make the application crash and stop working until it is restarted.
- 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 vulnerability triggers an assertion failure 'cesu8_cursor_p == cesu8_end_p' in the CESU-8 string cursor handling within lit-strings.c, causing immediate process termination.
Why it matters to the business
Results in denial-of-service conditions that interrupt application availability and require manual restarts, with low exploitation likelihood but potential for repeated service disruption in environments using the affected component.
How an attack unfolds
An attacker supplies specially crafted input containing malformed CESU-8 sequences to any code path that invokes the JerryScript string literal processing routines, violating internal cursor invariants and forcing the assertion to fail.
How to fix it
Upgrade DotNetNuke.Core to version 9.2.2 or later to incorporate the corrected string handling logic.
How to confirm the fix worked
Confirm the installed package version meets or exceeds 9.2.2; re-test previously triggering inputs to verify absence of assertion failures or crashes.
Typical attack path
- Locate an entry point that feeds untrusted data into the JavaScript engine's string handling
- Craft input that causes the CESU-8 cursor to desynchronize from the expected end position
- Submit the payload to trigger the failed assertion and crash the process
- Repeat as needed to maintain service interruption
How to detect it
Review application and system logs for abrupt terminations or assertion messages originating from lit-strings.c or equivalent string processing routines shortly after receipt of untrusted input.
What your security team should do
- Apply the 9.2.2 update at the earliest maintenance window given the public exploit availability
- Implement input sanitization or size limits on data reaching the embedded script engine
- Configure monitoring for unexpected process terminations tied to string processing
The record
There is an Assertion 'cesu8_cursor_p == cesu8_end_p' failed at /jerry-core/lit/lit-strings.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