CVE-2024-52677

9.8 CRITICAL

📋 TL;DR

HkCms versions up to v2.3.2.240702 contain an unrestricted file upload vulnerability in the Upload.php component. Attackers can upload malicious files to execute arbitrary code, leading to complete system compromise. All users running vulnerable versions are affected.

💻 Affected Systems

Products:
  • HkCms
Versions: <= v2.3.2.240702
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with the vulnerable Upload.php file are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to full server takeover, data exfiltration, and lateral movement within the network.

🟠

Likely Case

Webshell deployment allowing persistent backdoor access, data theft, and further exploitation of the server.

🟢

If Mitigated

File uploads blocked or properly validated, limiting impact to denial of service if upload attempts flood the system.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable without authentication on internet-facing systems.
🏢 Internal Only: HIGH - Even internal systems can be exploited by authenticated users or through other attack vectors.

🎯 Exploit Status

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

Proof-of-concept exploit code is publicly available, making exploitation trivial for attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not available

Restart Required: No

Instructions:

No official patch available. Consider upgrading to a newer version if released, or implement workarounds.

🔧 Temporary Workarounds

Restrict File Upload Types

all

Implement server-side validation to only allow specific safe file extensions.

# Modify Upload.php to validate file extensions
# Example: Only allow .jpg, .png, .pdf
$allowed_extensions = ['jpg', 'png', 'pdf'];

Disable File Upload Feature

all

Temporarily disable the vulnerable upload functionality until a fix is available.

# Comment out or remove upload-related code in Upload.php
# Or disable the upload route in your web server configuration

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block malicious file upload patterns
  • Restrict network access to the CMS administration interface using IP whitelisting

🔍 How to Verify

Check if Vulnerable:

Check if Upload.php exists at /app/common/library/Upload.php and review the getFileName method for proper file validation.

Check Version:

# Check HkCms version in configuration files
# Typically in config files or admin panel

Verify Fix Applied:

Test file upload functionality with malicious file extensions to ensure they are rejected.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file upload attempts with suspicious extensions (.php, .jsp, .exe)
  • Multiple failed upload attempts from single IP

Network Indicators:

  • HTTP POST requests to upload endpoints with unusual file types
  • Traffic spikes to upload functionality

SIEM Query:

source="web_logs" AND (uri_path="/upload" OR uri_path="/app/common/library/Upload.php") AND (file_extension="php" OR file_extension="jsp" OR file_extension="exe")

🔗 References

📤 Share & Export