CVE-2024-7742

7.3 HIGH

📋 TL;DR

This critical vulnerability in wanglongcn ltcms 1.0.20 allows remote attackers to perform server-side request forgery (SSRF) through the /api/file/multiDownload endpoint. Attackers can manipulate the 'file' parameter to make the server send requests to internal systems, potentially accessing sensitive data or services. Organizations using ltcms 1.0.20 are affected.

💻 Affected Systems

Products:
  • wanglongcn ltcms
Versions: 1.0.20
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation of ltcms 1.0.20. No special configuration is required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could access internal services, exfiltrate sensitive data, or pivot to other systems within the network, potentially leading to full network compromise.

🟠

Likely Case

Attackers will use SSRF to scan internal networks, access metadata services, or interact with internal APIs to steal credentials and sensitive information.

🟢

If Mitigated

With proper network segmentation and egress filtering, impact is limited to the compromised server only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit code is publicly available and requires minimal technical skill to execute. The vendor did not respond to disclosure attempts.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

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

🔧 Temporary Workarounds

Disable vulnerable endpoint

all

Block access to the /api/file/multiDownload endpoint via web server configuration or application firewall.

# For Apache: RewriteRule ^/api/file/multiDownload - [F]
# For Nginx: location ~ ^/api/file/multiDownload { deny all; }

Input validation filter

all

Implement strict input validation to reject URLs pointing to internal IP ranges or localhost.

# Example PHP validation: if(preg_match('/^(127\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.)/', $file)) { die('Invalid file'); }

🧯 If You Can't Patch

  • Implement network segmentation to restrict the server's ability to reach internal services
  • Deploy a web application firewall (WAF) with SSRF protection rules

🔍 How to Verify

Check if Vulnerable:

Test if the /api/file/multiDownload endpoint accepts URLs pointing to internal services or localhost. Use curl: curl -X POST 'http://target/api/file/multiDownload' -d 'file=http://169.254.169.254/latest/meta-data/'

Check Version:

Check the ltcms version in the application's admin panel or configuration files.

Verify Fix Applied:

After implementing workarounds, repeat the test and verify that internal URL requests are blocked or rejected.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /api/file/multiDownload with URL parameters
  • Outbound requests from the server to internal IP addresses following API calls

Network Indicators:

  • Server making HTTP requests to internal IP ranges (10.x.x.x, 172.16.x.x-172.31.x.x, 192.168.x.x) or localhost

SIEM Query:

source="web_server_logs" AND uri="/api/file/multiDownload" AND method="POST" AND (param="file" CONTAINS "http://" OR param="file" CONTAINS "https://")

🔗 References

📤 Share & Export