CVE-2021-46337
Medium · 5.5CVSS
5.5
EPSS
0.6%
Published
Jan 20, 2022
CISA due date
—
Cloudanix analysis
A flaw in a JavaScript engine used by many devices and programs can make those programs crash when they receive certain bad input.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
An assertion failure in the JavaScript parser's memory management routine causes an immediate process abort when parsing specially crafted input.
Why it matters to the business
Applications or devices embedding the engine can be forced offline, interrupting any service that relies on JavaScript execution and requiring manual restart.
How an attack unfolds
An attacker supplies a malicious JavaScript file or snippet that reaches the parser_list_get function with a null page pointer, triggering the assertion and crashing the process; public exploit code is available to automate this.
How to fix it
Upgrade to a patched release of JerryScript once available; until then, sandbox or isolate the engine, reject untrusted scripts, or disable JavaScript processing where feasible.
How to confirm the fix worked
Rebuild with assertions enabled and feed known trigger inputs; confirm the process no longer aborts and review commit history for parser memory fixes.
Typical attack path
- Identify a target process or device that uses the vulnerable JavaScript engine
- Craft or obtain a minimal JavaScript payload that triggers the parser assertion
- Deliver the payload via file, network message, or script tag accepted by the target
- Observe process termination and service outage
How to detect it
Look for unexpected process crashes or segmentation faults in binaries linked against the engine shortly after JavaScript parsing activity; correlate with log entries showing parser entry points.
What your security team should do
- Inventory all products and firmware that embed JerryScript
- Apply updates as soon as fixed versions are published
- Implement input filtering or sandboxing around script execution
- Monitor vendor advisories for backported patches
The record
There is an Assertion 'page_p != NULL' failed at /parser/js/js-parser-mem.c(parser_list_get) 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