CVE-2020-21489

9.8 CRITICAL

📋 TL;DR

CVE-2020-21489 is a critical file upload vulnerability in Feehicms v2.0.8 that allows remote attackers to upload malicious files and execute arbitrary code on the server. This affects all Feehicms v2.0.8 installations with the vulnerable admin-user/update-self component accessible.

💻 Affected Systems

Products:
  • Feehicms
Versions: v2.0.8
Operating Systems: All operating systems running Feehicms
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation of Feehicms v2.0.8. No special configuration is required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise leading to data theft, ransomware deployment, or use as a foothold for lateral movement within the network.

🟠

Likely Case

Webshell installation allowing persistent backdoor access, data exfiltration, and further exploitation of the server.

🟢

If Mitigated

Attack blocked at the web application firewall level or by file upload restrictions, preventing code execution.

🌐 Internet-Facing: HIGH - The vulnerable component is accessible via the web interface, making internet-facing instances immediately vulnerable to remote attacks.
🏢 Internal Only: HIGH - Even internally accessible instances are vulnerable to authenticated attackers or those who gain initial access through other means.

🎯 Exploit Status

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

Exploitation requires authentication to the admin interface. The vulnerability is well-documented in public repositories with proof-of-concept examples available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v2.0.9 or later

Vendor Advisory: https://github.com/liufee/cms/issues/46

Restart Required: No

Instructions:

1. Backup your current Feehicms installation and database. 2. Download the latest version from the official repository. 3. Replace the vulnerable files with the patched version. 4. Verify the update by checking the version number.

🔧 Temporary Workarounds

Restrict Admin Access

all

Limit access to the admin interface to trusted IP addresses only

# Add to .htaccess or web server config
Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24

File Upload Restrictions

all

Implement strict file upload validation and whitelisting

# Example PHP validation
$allowed_types = ['image/jpeg', 'image/png'];
$allowed_ext = ['jpg', 'jpeg', 'png'];
# Validate both MIME type and file extension

🧯 If You Can't Patch

  • Disable the vulnerable /admin/index.php?r=admin-user%2Fupdate-self endpoint completely
  • Implement a Web Application Firewall (WAF) with rules to block malicious file uploads and PHP execution attempts

🔍 How to Verify

Check if Vulnerable:

Check if running Feehicms v2.0.8 and if the /admin/index.php?r=admin-user%2Fupdate-self endpoint is accessible

Check Version:

Check the version.php file or admin dashboard for version information

Verify Fix Applied:

Verify the version is updated to v2.0.9 or later and test file upload functionality with malicious payloads

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to admin-user/update-self endpoint
  • PHP file uploads with suspicious names
  • Multiple failed upload attempts followed by successful upload

Network Indicators:

  • POST requests to /admin/index.php?r=admin-user%2Fupdate-self with file uploads
  • Subsequent requests to uploaded PHP files

SIEM Query:

source="web_logs" AND uri="/admin/index.php" AND query="r=admin-user%2Fupdate-self" AND method="POST" AND size>100000

🔗 References

📤 Share & Export