CVE-2023-47204
📋 TL;DR
CVE-2023-47204 is a critical remote code execution vulnerability in transmute-core's YAML deserialization. Attackers can execute arbitrary Python code by providing malicious YAML input to vulnerable versions. Any application using transmute-core before version 1.13.5 is affected.
💻 Affected Systems
- transmute-core
📦 What is this software?
Transmute Core by Toumorokoshi
⚠️ Risk & Real-World Impact
Worst Case
Full system compromise with attacker gaining remote code execution, potentially leading to data theft, ransomware deployment, or complete system takeover.
Likely Case
Remote code execution allowing attackers to run arbitrary commands, install malware, or pivot to other systems in the network.
If Mitigated
No impact if patched or proper input validation prevents malicious YAML from reaching the vulnerable deserializer.
🎯 Exploit Status
Exploitation requires sending malicious YAML to the vulnerable endpoint. The vulnerability is in the deserialization logic itself.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.13.5
Vendor Advisory: https://github.com/toumorokoshi/transmute-core/releases/tag/v1.13.5
Restart Required: Yes
Instructions:
1. Update transmute-core to version 1.13.5 or later using pip: pip install transmute-core>=1.13.5
2. Restart all services using transmute-core
3. Verify the update was successful
🔧 Temporary Workarounds
Use SafeLoader instead of Loader
allReplace yaml.Loader with yaml.SafeLoader in code to prevent unsafe deserialization
Replace: yaml.load(data, Loader=yaml.Loader)
With: yaml.load(data, Loader=yaml.SafeLoader)
Input Validation and Sanitization
allImplement strict input validation to reject suspicious YAML content before processing
🧯 If You Can't Patch
- Implement network segmentation to isolate vulnerable systems
- Deploy web application firewall (WAF) rules to block malicious YAML payloads
🔍 How to Verify
Check if Vulnerable:
Check if transmute-core version is below 1.13.5 using pip show transmute-core or by examining requirements.txt/pyproject.toml
Check Version:
pip show transmute-core | grep Version
Verify Fix Applied:
Confirm transmute-core version is 1.13.5 or higher and test that yaml.Loader is no longer used or has been replaced with SafeLoader
📡 Detection & Monitoring
Log Indicators:
- Unusual Python process execution from web services
- Errors related to YAML parsing failures
- Suspicious import statements in logs
Network Indicators:
- Unusual outbound connections from application servers
- Traffic patterns suggesting command and control
SIEM Query:
source="application.logs" AND ("yaml.Loader" OR "transmute-core" AND version<"1.13.5")