CVE-2020-23313
📋 TL;DR
CVE-2020-23313 is a reachable assertion vulnerability in JerryScript's scanner_literal_is_created function that can cause denial of service through application crashes. This affects systems running JerryScript 2.2.0, which is an embedded JavaScript engine commonly used in IoT devices and resource-constrained environments.
💻 Affected Systems
- JerryScript
📦 What is this software?
Jerryscript by Jerryscript
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete system compromise if combined with other vulnerabilities, though this specific CVE primarily causes crashes.
Likely Case
Denial of service through application crashes when processing malicious JavaScript input.
If Mitigated
Limited impact with proper input validation and sandboxing in place.
🎯 Exploit Status
Proof of concept available in GitHub issue. Exploitation requires ability to inject JavaScript into JerryScript engine.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Versions after 2.2.0 (2.3.0 and later)
Vendor Advisory: https://github.com/jerryscript-project/jerryscript/issues/3823
Restart Required: Yes
Instructions:
1. Upgrade JerryScript to version 2.3.0 or later. 2. Recompile any applications using JerryScript. 3. Restart affected services or devices.
🔧 Temporary Workarounds
Input validation and sanitization
allImplement strict input validation for JavaScript code processed by JerryScript
Memory limit restrictions
allConfigure memory limits to prevent exploitation attempts from causing system-wide impact
🧯 If You Can't Patch
- Isolate JerryScript instances in containers or sandboxes to limit blast radius
- Implement network segmentation to restrict access to vulnerable systems
🔍 How to Verify
Check if Vulnerable:
Check JerryScript version: grep -r 'JERRYSCRIPT_VERSION' in source code or check compiled binary version
Check Version:
jerry --version (if available) or check build configuration
Verify Fix Applied:
Verify JerryScript version is 2.3.0 or later and test with known malicious input from GitHub issue
📡 Detection & Monitoring
Log Indicators:
- Application crashes with JerryScript assertion failures
- Error messages containing 'js-scanner-util.c:2510'
Network Indicators:
- Unusual JavaScript payloads sent to embedded devices
- Repeated connection attempts to JerryScript endpoints
SIEM Query:
source="*jerry*" AND ("assertion failed" OR "js-scanner-util.c:2510")