CVE-2022-22928
📋 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
- MCMS (MingSoft Content Management System)
📦 What is this software?
Mcms by Mingsoft
⚠️ 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.
🎯 Exploit Status
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
allManually 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
linuxRestrict 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")