CVE-2023-49550

7.5 HIGH

📋 TL;DR

A denial-of-service vulnerability in Cesanta mjs 2.20.0 allows remote attackers to crash applications using this embedded JavaScript engine via a specific component. This affects any system running vulnerable versions of mjs, particularly IoT devices and embedded systems that incorporate this engine.

💻 Affected Systems

Products:
  • Cesanta mjs
Versions: 2.20.0
Operating Systems: All platforms running mjs
Default Config Vulnerable: ⚠️ Yes
Notes: Any application or device using the vulnerable mjs version is affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption with application crashes leading to unavailability of affected systems or devices.

🟠

Likely Case

Application instability and crashes causing intermittent service interruptions.

🟢

If Mitigated

Minimal impact with proper network segmentation and monitoring in place.

🌐 Internet-Facing: HIGH - Remote attackers can trigger the vulnerability without authentication.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit this, but requires network access.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The GitHub issue contains technical details that could facilitate exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check latest mjs releases after 2.20.0

Vendor Advisory: https://github.com/cesanta/mjs/issues/252

Restart Required: Yes

Instructions:

1. Check current mjs version. 2. Update to latest patched version from official repository. 3. Rebuild and redeploy affected applications. 4. Restart services using mjs.

🔧 Temporary Workarounds

Network segmentation

all

Restrict network access to systems using mjs to trusted sources only

Input validation

all

Implement strict input validation for data processed by mjs engine

🧯 If You Can't Patch

  • Implement strict network access controls to limit exposure
  • Deploy monitoring and alerting for application crashes or abnormal behavior

🔍 How to Verify

Check if Vulnerable:

Check if mjs version 2.20.0 is installed in your system or applications

Check Version:

Check application dependencies or build configuration for mjs version

Verify Fix Applied:

Verify mjs version is updated to a release after 2.20.0 and test application stability

📡 Detection & Monitoring

Log Indicators:

  • Application crashes
  • Abnormal termination of mjs processes
  • Memory error logs

Network Indicators:

  • Unexpected traffic patterns to mjs endpoints

SIEM Query:

search for process termination events related to mjs or containing 'mjs' in process name

🔗 References

📤 Share & Export