CVE-2020-23907
📋 TL;DR
This vulnerability in retdec v3.3 allows attackers to trigger a heap buffer overflow via an out-of-bounds read in the canSplitFunctionOn() function. Successful exploitation could lead to denial of service, memory disclosure, or arbitrary code execution. Users of retdec v3.3 are affected.
💻 Affected Systems
- retdec
📦 What is this software?
Retdec by Avast
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete system compromise, data theft, and persistent backdoor installation.
Likely Case
Denial of service causing retdec to crash, potentially disrupting reverse engineering workflows.
If Mitigated
No impact if patched or if vulnerable version is not exposed to untrusted input.
🎯 Exploit Status
Exploitation requires crafting malicious input files, but no public proof-of-concept has been released.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in commit 517298bafaaff0a8e3dd60dd055a67c41b545807
Vendor Advisory: https://github.com/avast/retdec/commit/517298bafaaff0a8e3dd60dd055a67c41b545807
Restart Required: No
Instructions:
1. Update retdec to latest version. 2. Rebuild from source using patched code. 3. Replace vulnerable binary with patched version.
🔧 Temporary Workarounds
Input validation
allOnly process trusted input files with retdec
Sandbox execution
linuxRun retdec in isolated container or VM
docker run --rm -v $(pwd):/input avast/retdec:latest
🧯 If You Can't Patch
- Disable retdec usage until patched
- Implement strict file upload controls and input validation
🔍 How to Verify
Check if Vulnerable:
Check retdec version: retdec --version | grep '3.3'
Check Version:
retdec --version
Verify Fix Applied:
Verify commit hash includes 517298b or check version is newer than v3.3
📡 Detection & Monitoring
Log Indicators:
- retdec crash logs
- segmentation fault errors
- abnormal process termination
Network Indicators:
- Unusual file uploads to retdec web interfaces
SIEM Query:
process_name:retdec AND (event_type:crash OR exit_code:139)