CVE-2020-19267

9.8 CRITICAL

📋 TL;DR

This vulnerability allows attackers to upload malicious PHP files to Dswjcms 1.6.4, leading to remote code execution. Attackers can take full control of affected web servers by exploiting improper file upload validation. All systems running the vulnerable version are affected.

💻 Affected Systems

Products:
  • Dswjcms
Versions: 1.6.4
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the /index.php/Dswjcms/Basis/resources endpoint to be accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise allowing data theft, malware deployment, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Webshell upload leading to data exfiltration, defacement, or cryptocurrency mining operations.

🟢

If Mitigated

Unauthorized file upload blocked, maintaining normal system functionality with no compromise.

🌐 Internet-Facing: HIGH - Web applications are directly accessible and vulnerable to unauthenticated exploitation.
🏢 Internal Only: MEDIUM - Internal attackers could exploit if they have network access to the application.

🎯 Exploit Status

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

Simple file upload bypass with publicly available proof-of-concept code.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not available

Restart Required: No

Instructions:

1. Check for official patch from Dswjcms developers
2. If no patch available, implement workarounds
3. Consider migrating to alternative CMS if unmaintained

🔧 Temporary Workarounds

File Upload Restriction

all

Restrict file uploads to specific extensions and validate file types

Modify PHP configuration to restrict uploads: file_uploads = Off
Add .htaccess rules: <FilesMatch "\.(php|php5|php7|phtml)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

Endpoint Restriction

all

Block access to vulnerable endpoint

Apache: RewriteRule ^/index\.php/Dswjcms/Basis/resources - [F]
Nginx: location ~ /index\.php/Dswjcms/Basis/resources { return 403; }

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block malicious file uploads
  • Isolate the vulnerable system in a DMZ with strict network segmentation

🔍 How to Verify

Check if Vulnerable:

Check if Dswjcms version is 1.6.4 and test file upload functionality at /index.php/Dswjcms/Basis/resources

Check Version:

Check CMS configuration files or admin panel for version information

Verify Fix Applied:

Attempt to upload PHP file to vulnerable endpoint - should be rejected

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to /index.php/Dswjcms/Basis/resources
  • PHP file uploads from unexpected sources
  • Webshell creation in upload directories

Network Indicators:

  • POST requests to vulnerable endpoint with file uploads
  • Unusual outbound connections from web server

SIEM Query:

source="web_logs" AND (uri="/index.php/Dswjcms/Basis/resources" OR file_extension="php") AND http_method="POST"

🔗 References

📤 Share & Export