CVE-2021-20850

9.8 CRITICAL

📋 TL;DR

This vulnerability allows remote attackers to execute arbitrary operating system commands on PowerCMS servers through the XMLRPC API. It affects PowerCMS versions 5.19 and earlier, 4.49 and earlier, 3.295 and earlier, and the entire PowerCMS 2 Series (which is end-of-life). Attackers can gain full control of affected systems without authentication.

💻 Affected Systems

Products:
  • PowerCMS
Versions: PowerCMS 5.19 and earlier, PowerCMS 4.49 and earlier, PowerCMS 3.295 and earlier, PowerCMS 2 Series (all versions)
Operating Systems: Any OS running PowerCMS
Default Config Vulnerable: ⚠️ Yes
Notes: PowerCMS 2 Series is end-of-life and will not receive patches. The XMLRPC API must be enabled/accessible for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to execute arbitrary commands as the web server user, potentially leading to data theft, ransomware deployment, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to web server compromise, data exfiltration, and potential use as a foothold for further network attacks.

🟢

If Mitigated

If proper network segmentation and least privilege are implemented, impact may be limited to the web server environment, though data exposure and service disruption are still likely.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires no authentication and has been publicly documented in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: PowerCMS 5.20, PowerCMS 4.50, PowerCMS 3.296

Vendor Advisory: https://www.powercms.jp/news/release-patch-xmlrpc-api-202110.html

Restart Required: Yes

Instructions:

1. Download the latest version from the PowerCMS website. 2. Backup your current installation and database. 3. Replace the PowerCMS files with the patched version. 4. Restart your web server. 5. Verify the update was successful.

🔧 Temporary Workarounds

Disable XMLRPC API

all

Completely disable the vulnerable XMLRPC API endpoint if not required for functionality.

Edit PowerCMS configuration to disable XMLRPC API or block access via web server configuration (e.g., .htaccess for Apache, nginx location block)

Network Access Control

linux

Restrict access to the XMLRPC API endpoint using firewall rules or web application firewalls.

iptables -A INPUT -p tcp --dport 80 -m string --string "xmlrpc" --algo bm -j DROP
ufw deny from any to any port 80 app 'PowerCMS XMLRPC'

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate PowerCMS servers from critical assets
  • Deploy a web application firewall (WAF) with rules to block XMLRPC command injection attempts

🔍 How to Verify

Check if Vulnerable:

Check PowerCMS version in admin panel or by examining PowerCMS files. Versions 5.19 or earlier, 4.49 or earlier, 3.295 or earlier, or any PowerCMS 2 version are vulnerable.

Check Version:

Check PowerCMS admin dashboard or examine PowerCMS configuration files for version information.

Verify Fix Applied:

Verify version is updated to PowerCMS 5.20, 4.50, or 3.296. Test XMLRPC API functionality if required, ensuring no command execution occurs.

📡 Detection & Monitoring

Log Indicators:

  • Unusual XMLRPC API requests, especially with command-like parameters
  • Web server logs showing OS command execution attempts
  • Unexpected process execution from web server user

Network Indicators:

  • XMLRPC requests containing system commands or unusual parameters
  • Outbound connections from web server to unexpected destinations

SIEM Query:

source="web_server" AND (uri="*xmlrpc*" AND (param="*system*" OR param="*exec*" OR param="*cmd*"))

🔗 References

📤 Share & Export