CVE-2021-33797
📋 TL;DR
This vulnerability is a buffer overflow in Artifex MuJS's floating-point parsing code that allows attackers to execute arbitrary code or crash applications. It affects any system running MuJS versions 1.0.1 through 1.1.1 that processes untrusted JavaScript input. The high CVSS score reflects the potential for remote code execution.
💻 Affected Systems
- Artifex MuJS
📦 What is this software?
Mujs by Artifex
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete system compromise, data theft, or ransomware deployment.
Likely Case
Application crash (denial of service) or limited code execution within the MuJS context.
If Mitigated
No impact if input validation or sandboxing prevents malicious JavaScript execution.
🎯 Exploit Status
Exploitation requires crafting specific floating-point input but no authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.1.2 or later
Vendor Advisory: https://github.com/ccxvii/mujs/commit/833b6f1672b4f2991a63c4d05318f0b84ef4d550
Restart Required: Yes
Instructions:
1. Download MuJS 1.1.2 or later from GitHub. 2. Replace vulnerable version. 3. Recompile if using source. 4. Restart affected applications.
🔧 Temporary Workarounds
Input Validation
allSanitize JavaScript input to reject suspicious floating-point notation.
Sandbox Execution
allRun MuJS in a restricted environment with limited permissions.
🧯 If You Can't Patch
- Disable JavaScript processing in affected applications if possible.
- Implement network segmentation to isolate vulnerable systems.
🔍 How to Verify
Check if Vulnerable:
Check MuJS version with 'mujs --version' or examine application dependencies.
Check Version:
mujs --version
Verify Fix Applied:
Confirm version is 1.1.2 or later and test with known safe floating-point inputs.
📡 Detection & Monitoring
Log Indicators:
- Application crashes
- Memory access violation errors
Network Indicators:
- Unusual JavaScript payloads with long floating-point exponents
SIEM Query:
source="application.log" AND "segmentation fault" AND process="mujs"