CVE-2019-16366

9.8 CRITICAL

📋 TL;DR

This vulnerability allows remote attackers to execute arbitrary code via heap-based buffer overflow in Moddable SDK's XS engine. It affects systems running Moddable SDK version 9.0.0 with OS180329 when processing malicious JavaScript code through the xst tool. Attackers can exploit this to gain control of affected systems.

💻 Affected Systems

Products:
  • Moddable SDK
Versions: Version 9.0.0 with OS180329
Operating Systems: All platforms running Moddable SDK
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability is triggered when processing JavaScript through xst tool or applications using the vulnerable XS engine functions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, and persistent backdoor installation.

🟠

Likely Case

Application crash (denial of service) or limited code execution within the XS engine context.

🟢

If Mitigated

No impact if systems are patched or not running vulnerable Moddable SDK components.

🌐 Internet-Facing: HIGH if xst tool or applications using vulnerable Moddable SDK are exposed to untrusted JavaScript input.
🏢 Internal Only: MEDIUM if only internal users can supply JavaScript to vulnerable components.

🎯 Exploit Status

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

Proof of concept exists in GitHub issue #235. Exploitation requires ability to supply crafted JavaScript to vulnerable component.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in Moddable SDK after OS180329

Vendor Advisory: https://github.com/Moddable-OpenSource/moddable/issues/235

Restart Required: Yes

Instructions:

1. Update Moddable SDK to latest version. 2. Rebuild and redeploy applications using the SDK. 3. Restart affected services.

🔧 Temporary Workarounds

Disable xst tool

all

Remove or disable access to xst tool if not required

sudo rm /path/to/xst
chmod 000 /path/to/xst

Input validation

all

Implement strict JavaScript input validation and sanitization

🧯 If You Can't Patch

  • Network segmentation to isolate vulnerable systems
  • Implement strict access controls to limit who can supply JavaScript input

🔍 How to Verify

Check if Vulnerable:

Check Moddable SDK version and build date. If version is 9.0.0 with OS180329, system is vulnerable.

Check Version:

xst --version or check moddable SDK build configuration

Verify Fix Applied:

Verify Moddable SDK version is newer than OS180329 and test with known proof of concept.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes of xst or Moddable SDK applications
  • Unusual JavaScript processing patterns

Network Indicators:

  • Unexpected network connections from xst processes
  • JavaScript payloads with buffer overflow patterns

SIEM Query:

process_name:xst AND (event_type:crash OR memory_violation)

🔗 References

📤 Share & Export