CVE-2021-3287

9.8 CRITICAL

📋 TL;DR

CVE-2021-3287 is an unauthenticated remote code execution vulnerability in Zoho ManageEngine OpManager caused by insecure Java deserialization. Attackers can exploit this to execute arbitrary code on affected systems without authentication. Organizations running OpManager versions before 12.5.329 are vulnerable.

💻 Affected Systems

Products:
  • Zoho ManageEngine OpManager
Versions: All versions before 12.5.329
Operating Systems: Windows, Linux
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations are vulnerable. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to install malware, steal sensitive data, pivot to internal networks, and establish persistent access.

🟠

Likely Case

Initial foothold leading to ransomware deployment, data exfiltration, or use as a pivot point for lateral movement within the network.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, potentially only affecting the OpManager server itself.

🌐 Internet-Facing: HIGH - Unauthenticated RCE with public exploit available makes internet-facing instances extremely vulnerable to automated attacks.
🏢 Internal Only: HIGH - Even internal instances are at significant risk from insider threats or attackers who have breached perimeter defenses.

🎯 Exploit Status

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

Public exploit code available on Packet Storm and other sources. Exploitation is straightforward with readily available tools.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 12.5.329 and later

Vendor Advisory: https://www.manageengine.com/network-monitoring/help/read-me-complete.html#125329

Restart Required: Yes

Instructions:

1. Download OpManager version 12.5.329 or later from ManageEngine website. 2. Backup current installation and configuration. 3. Run the installer to upgrade. 4. Restart the OpManager service.

🔧 Temporary Workarounds

Network Access Control

all

Restrict network access to OpManager web interface to trusted IP addresses only.

Use firewall rules to allow only specific source IPs to TCP ports 8060 (default HTTP) and 443 (HTTPS)

Disable Vulnerable Endpoint

all

Block access to the vulnerable deserialization endpoint if possible.

Configure web server (Apache/Nginx/IIS) to block requests to /servlets/SumPDU

🧯 If You Can't Patch

  • Isolate OpManager server in a dedicated network segment with strict firewall rules
  • Implement application-level WAF with rules to detect and block Java deserialization attacks

🔍 How to Verify

Check if Vulnerable:

Check OpManager version via web interface (Help > About) or installation directory. Versions below 12.5.329 are vulnerable.

Check Version:

On Windows: Check 'About' in OpManager GUI. On Linux: Check /opt/ManageEngine/OpManager/version.txt or similar installation directory.

Verify Fix Applied:

Verify version is 12.5.329 or higher and test that the /servlets/SumPDU endpoint no longer accepts malicious serialized objects.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Java deserialization errors in OpManager logs
  • Requests to /servlets/SumPDU with serialized objects
  • Suspicious process creation from OpManager service

Network Indicators:

  • HTTP POST requests to /servlets/SumPDU containing serialized Java objects
  • Outbound connections from OpManager server to unknown external IPs

SIEM Query:

source="OpManager" AND (uri="/servlets/SumPDU" OR message="*deserialization*" OR message="*SumPDU*")

🔗 References

📤 Share & Export