CVE-2024-24202
📋 TL;DR
This vulnerability allows authenticated attackers to upload malicious .txt files to the /upgrade/control.php endpoint in ZenTao products, leading to arbitrary code execution. It affects ZenTao Community Edition, Biz, and Max versions, potentially compromising the entire system. Organizations using these specific versions are at risk if the vulnerable endpoint is accessible.
💻 Affected Systems
- ZenTao Community Edition
- ZenTao Biz
- ZenTao Max
📦 What is this software?
Zentao by Easycorp
Zentao Biz by Easycorp
Zentao Max by Easycorp
⚠️ Risk & Real-World Impact
Worst Case
Full system compromise with remote code execution, enabling data theft, ransomware deployment, or complete control over the server.
Likely Case
Unauthorized access and execution of arbitrary commands, leading to data breaches or service disruption.
If Mitigated
Limited impact if proper access controls and file upload restrictions are enforced, but risk remains if vulnerable.
🎯 Exploit Status
Exploitation involves uploading a crafted .txt file; public references indicate detailed proof-of-concept, making attacks feasible for attackers with credentials.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Check vendor for specific patched versions (e.g., ZenTao Community Edition > v18.10, Biz > v8.10, Max > v4.10)
Vendor Advisory: https://clammy-blizzard-8ef.notion.site/Zentao-PMS-Authorized-Remote-Code-Execution-Vulnerability-1077a870c92848e18fe0c139c4fc2176
Restart Required: No
Instructions:
1. Backup your ZenTao installation. 2. Update to the latest patched version from the official ZenTao website. 3. Verify the update by checking the version and testing the /upgrade/control.php endpoint.
🔧 Temporary Workarounds
Restrict Access to /upgrade/control.php
allBlock or limit access to the vulnerable endpoint using web server configurations or firewalls.
# For Apache: Add to .htaccess
<Files "control.php">
Deny from all
</Files>
# For Nginx: Add to server block
location /upgrade/control.php {
deny all;
}
Disable File Uploads for .txt Files
allConfigure ZenTao or web server to reject .txt file uploads to the /upgrade directory.
# Example for ZenTao config: Modify upload settings to exclude .txt extensions.
🧯 If You Can't Patch
- Implement strict network segmentation to isolate ZenTao servers from critical systems.
- Enforce strong authentication and monitor for unusual file upload activities.
🔍 How to Verify
Check if Vulnerable:
Check if ZenTao version matches affected versions and if /upgrade/control.php is accessible; test with a benign file upload to confirm vulnerability.
Check Version:
# Command to check ZenTao version (adjust path as needed)
cat /path/to/zentao/VERSION # or check via web interface
Verify Fix Applied:
After patching, attempt to upload a .txt file to /upgrade/control.php; it should be rejected or handled securely. Verify version is updated.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to /upgrade/control.php, especially .txt files with suspicious content.
- Failed or successful upload attempts from unexpected IP addresses.
Network Indicators:
- HTTP POST requests to /upgrade/control.php with file uploads.
- Traffic spikes or anomalies to the ZenTao server.
SIEM Query:
source="web_logs" AND uri="/upgrade/control.php" AND method="POST" AND file_extension=".txt"