CVE-2025-5137
📋 TL;DR
This CVE describes a critical code injection vulnerability in DedeCMS 5.7.117 that allows remote attackers to execute arbitrary code by manipulating the 'refiles' parameter in the sys_verifies.php file. This affects all DedeCMS 5.7.117 installations with the vulnerable component exposed. The vulnerability stems from an incomplete fix for CVE-2018-9175.
💻 Affected Systems
- DedeCMS
📦 What is this software?
Dedecms by Dedecms
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete system compromise, data theft, and lateral movement within the network.
Likely Case
Remote code execution allowing attackers to install backdoors, deface websites, or steal sensitive data.
If Mitigated
Limited impact with proper input validation, WAF rules, and network segmentation in place.
🎯 Exploit Status
Exploit requires access to the vulnerable endpoint, which typically requires authentication. However, if authentication is bypassed or the endpoint is misconfigured, exploitation becomes easier.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: None known
Restart Required: No
Instructions:
No official patch available. Consider upgrading to a newer version of DedeCMS if available, or apply workarounds.
🔧 Temporary Workarounds
Restrict Access to Vulnerable Endpoint
allBlock access to dede/sys_verifies.php via web server configuration or firewall rules.
# Apache: Add to .htaccess
<Files "sys_verifies.php">
Order deny,allow
Deny from all
</Files>
# Nginx: Add to server block
location ~ /dede/sys_verifies\.php$ {
deny all;
}
Input Validation Sanitization
allImplement strict input validation for the 'refiles' parameter to prevent code injection.
# Example PHP code to sanitize input
$refiles = filter_input(INPUT_GET, 'refiles', FILTER_SANITIZE_STRING);
if (!preg_match('/^[a-zA-Z0-9_\-\.]+$/', $refiles)) {
die('Invalid input');
}
🧯 If You Can't Patch
- Implement a Web Application Firewall (WAF) with rules to block requests containing suspicious patterns in the 'refiles' parameter.
- Monitor and audit access logs for any attempts to access dede/sys_verifies.php and investigate anomalies.
🔍 How to Verify
Check if Vulnerable:
Check if the file dede/sys_verifies.php exists and is accessible via HTTP. Test by sending a request with a malicious 'refiles' parameter and observing if code execution occurs.
Check Version:
Check the DedeCMS version in the admin panel or by examining the source code for version identifiers.
Verify Fix Applied:
After applying workarounds, test that access to dede/sys_verifies.php is blocked or that malicious input is rejected without executing code.
📡 Detection & Monitoring
Log Indicators:
- HTTP requests to dede/sys_verifies.php with unusual 'refiles' parameter values
- System logs showing unexpected process execution or file modifications
Network Indicators:
- Outbound connections from the web server to unknown IPs or domains
- Unusual HTTP POST/GET patterns to the vulnerable endpoint
SIEM Query:
source="web_access_logs" AND uri="/dede/sys_verifies.php" AND (query="*refiles=*" OR status>=400)