CVE-2022-22928

9.8 CRITICAL

📋 TL;DR

CVE-2022-22928 is a critical vulnerability in MCMS v5.2.4 where a hardcoded Shiro key allows attackers to bypass authentication and execute arbitrary code remotely. This affects all systems running the vulnerable version of MCMS content management software. Attackers can gain complete control over affected systems.

💻 Affected Systems

Products:
  • MCMS (MingSoft Content Management System)
Versions: v5.2.4 specifically
Operating Systems: Any OS running Java-based MCMS
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of MCMS v5.2.4 are vulnerable due to the hardcoded cryptographic key in the source code.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to execute arbitrary commands, steal data, deploy ransomware, or pivot to other systems in the network.

🟠

Likely Case

Remote code execution leading to web shell deployment, data exfiltration, and lateral movement within the network.

🟢

If Mitigated

Limited impact if proper network segmentation, web application firewalls, and intrusion detection systems are in place to block exploitation attempts.

🌐 Internet-Facing: HIGH with brief explanation: Internet-facing MCMS instances are directly exploitable without authentication.
🏢 Internal Only: HIGH with brief explanation: Internal systems are vulnerable to attackers who gain network access through other means.

🎯 Exploit Status

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

Exploitation is straightforward using publicly available Shiro deserialization payloads with the hardcoded key.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v5.2.5 or later

Vendor Advisory: https://gitee.com/mingSoft/MCMS/issues/I4Q4RP

Restart Required: Yes

Instructions:

1. Backup your MCMS installation and database. 2. Download MCMS v5.2.5 or later from the official repository. 3. Replace the vulnerable files with patched versions. 4. Restart the application server. 5. Verify the fix by checking the Shiro configuration.

🔧 Temporary Workarounds

Change Shiro Encryption Key

all

Manually replace the hardcoded Shiro key with a randomly generated secure key

Edit shiro.ini or equivalent configuration file
Replace 'cipherKey' value with a secure random key (minimum 128-bit)

Network Isolation

linux

Restrict network access to MCMS instances

iptables -A INPUT -p tcp --dport 8080 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP

🧯 If You Can't Patch

  • Implement a Web Application Firewall (WAF) with rules to block Shiro deserialization attacks
  • Isolate the vulnerable system in a separate network segment with strict access controls

🔍 How to Verify

Check if Vulnerable:

Check if MCMS version is 5.2.4 by examining version files or admin interface. Verify if Shiro configuration contains hardcoded keys.

Check Version:

Check WEB-INF/classes/version.properties or admin login page for version information

Verify Fix Applied:

Confirm MCMS version is 5.2.5 or later. Test authentication bypass attempts using known Shiro payloads with the old key.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Java deserialization errors in application logs
  • Multiple failed authentication attempts followed by successful access
  • Suspicious POST requests containing serialized Java objects

Network Indicators:

  • HTTP requests containing 'rememberMe' cookies with encoded payloads
  • Unusual outbound connections from the MCMS server

SIEM Query:

source="mcms.logs" AND ("java.lang.Runtime" OR "rememberMe" OR "shiro" OR "deserialization")

🔗 References

📤 Share & Export