CVE-2025-52562

10.0 CRITICAL

📋 TL;DR

This is a critical directory traversal vulnerability in Convoy KVM server management panel that allows unauthenticated remote attackers to include and execute arbitrary PHP files on the server. The vulnerability affects Convoy versions 3.9.0-rc3 through 4.4.0, potentially impacting hosting businesses using this software for server management.

💻 Affected Systems

Products:
  • Convoy KVM Server Management Panel
Versions: 3.9.0-rc3 to 4.4.0
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations within the vulnerable version range. The vulnerability is in the LocaleController component.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise leading to data theft, ransomware deployment, lateral movement within the network, and persistent backdoor installation.

🟠

Likely Case

Remote code execution allowing attackers to steal sensitive data, modify server configurations, or deploy cryptocurrency miners.

🟢

If Mitigated

Limited impact if proper network segmentation, strict file permissions, and monitoring are in place, though initial compromise is still possible.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability requires sending specially crafted HTTP requests with malicious locale and namespace parameters. No authentication is required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.4.1

Vendor Advisory: https://github.com/ConvoyPanel/panel/security/advisories/GHSA-43g3-qpwq-hfgg

Restart Required: Yes

Instructions:

1. Backup your current Convoy installation and database. 2. Update to version 4.4.1 or later using the official update mechanism. 3. Restart the Convoy service. 4. Verify the update was successful.

🔧 Temporary Workarounds

WAF Rule Implementation

all

Implement strict Web Application Firewall rules to block requests with malicious locale and namespace parameters targeting vulnerable endpoints.

Network Access Restriction

linux

Restrict access to Convoy panel to trusted IP addresses only using firewall rules.

sudo iptables -A INPUT -p tcp --dport [CONVOY_PORT] -s [TRUSTED_IP] -j ACCEPT
sudo iptables -A INPUT -p tcp --dport [CONVOY_PORT] -j DROP

🧯 If You Can't Patch

  • Immediately restrict network access to Convoy panel using firewall rules to allow only trusted IP addresses.
  • Implement comprehensive monitoring and alerting for suspicious file inclusion attempts and PHP execution patterns.

🔍 How to Verify

Check if Vulnerable:

Check Convoy version by examining the panel interface or configuration files. If version is between 3.9.0-rc3 and 4.4.0, the system is vulnerable.

Check Version:

Check the Convoy panel web interface or examine the installation directory for version information.

Verify Fix Applied:

After updating, verify the version shows 4.4.1 or later in the panel interface or configuration.

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP requests with locale/namespace parameters containing path traversal sequences (../)
  • Unexpected PHP file inclusions from unusual directories
  • Failed attempts to access restricted files

Network Indicators:

  • HTTP requests to Convoy endpoints with unusual parameter patterns
  • Multiple rapid requests attempting different directory traversal payloads

SIEM Query:

source="convoy_logs" AND ("locale=" OR "namespace=") AND (".." OR "%2e%2e" OR "%252e%252e")

🔗 References

📤 Share & Export