CVE-2023-34868
High · 7.5CVSS
7.5
EPSS
0.7%
Published
Jun 14, 2023
CISA due date
—
Cloudanix analysis
A flaw in the JavaScript handling code can make the program crash when it receives certain inputs, stopping the service until it is restarted.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Assertion failure triggered in parser_parse_for_statement_start during JavaScript parsing leads to immediate process termination and denial of service.
Why it matters to the business
Applications become unavailable to users until the process is restarted, causing service outages and potential loss of productivity or revenue.
How an attack unfolds
An attacker supplies crafted input that reaches the JavaScript parser's for-statement handling path, triggering the assertion failure. Public exploit code is available and the vulnerability has been known for over three years.
How to fix it
Upgrade craftcms/cms to commit 7359d18d46389ffac86c2af1e0cd59e37c298857 or later; rebuild and redeploy the affected JerryScript integration.
How to confirm the fix worked
Confirm the running binary or library reports commit 7359d18d46389ffac86c2af1e0cd59e37c298857 or newer; re-execute the parser against known triggering test cases and verify no assertion abort occurs.
Typical attack path
- Identify a network-accessible endpoint that invokes the JavaScript parser
- Craft a minimal for-statement payload that violates the parser's internal assumptions
- Transmit the payload over the network without authentication
- Observe process crash and service restart loop or manual intervention
How to detect it
Review application and system logs for abrupt terminations near calls to parser_parse_for_statement_start; correlate with inbound requests containing JavaScript or template content.
- parser_parse_for_statement_start
- jerry-core/parser/js/js-parser-statm.c
What your security team should do
- Apply the fixed commit immediately given public exploit availability and long disclosure window
- Add the parser component to the vulnerability scanning inventory
- Implement input validation or sandboxing around JavaScript parsing until upgrade is complete
- Monitor for process crashes correlated with parser activity
The record
Jerryscript 3.0 (commit 05dbbd1) was discovered to contain an Assertion Failure via the parser_parse_for_statement_start at jerry-core/parser/js/js-parser-statm.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 |
| 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