High
CVE-2021-3287
CVE ID
AttackerKB requires a CVE ID in order to pull vulnerability data and references from the CVE list and the National Vulnerability Database. If available, please supply below:
Add References:
CVE-2021-3287
MITRE ATT&CK
Collection
Command and Control
Credential Access
Defense Evasion
Discovery
Execution
Exfiltration
Impact
Initial Access
Lateral Movement
Persistence
Privilege Escalation
Topic Tags
Description
Zoho ManageEngine OpManager before 12.5.329 allows unauthenticated Remote Code Execution due to a general bypass in the deserialization class.
Add Assessment
Ratings
-
Attacker ValueHigh
-
ExploitabilityHigh
Technical Analysis
The com.adventnet.me.itom.framework.ITOMObjectInputStream
is a class that was added to fix the serialization issue originally disclosed in CVE-2020-28653. It’s located in the OpManagerServerClasses.jar
file. It works by overriding the resolveClass
method and using a boolean state variable classResolved
. When the object is initialized, the caller must call setClassName
to add the names of one or more classes that are allowed to be deserialized. The classResolved
state variable is initialized to false, and when a class is resolved if it’s name is in the list of allowed classes, it’s set to true and resolving carries on as usual. If no allowed classes are defined, or the class name that is being deserialized is not in the allowed list, an exception is thrown.
A flaw exists in this implementation whereby if a single ITOMObjectInputStream
instance is used for multiple readObject
calls, then only the first will be protected because the classResolved
state variable will persist into subsequent calls. This means a vulnerable use of this class would initialize it and then use the same instance for 2 or more readObject
calls. The first object must be of the expected type, but any after that can be used for malicious deserialization purposes.
Such a vulnerable invocations is present in the com.adventnet.tools.sum.server.session.SUMServerIOAndDataAnalyzer
class’s process
method. This class is located in the AdventNetSUMServer.jar
file. It can be accessed by sending a serialized SUMPDU object with an OPEN_SESSION
request (see SUMHttpRequestHandler.processSumPDU
). This will cause SUMServerIOAndDataAnalyzer
to be initialized as the socket client. Once initialized, the data field of serialized SUMPDU object will be passed to the SUMServerIOAndDataAnalyzer.process
method where the vulnerable serialization operations can occur.
Would you also like to delete your Exploited in the Wild Report?
Delete Assessment Only Delete Assessment and Exploited in the Wild ReportCVSS V3 Severity and Metrics
General Information
Vendors
- zohocorp
Products
- manageengine opmanager,
- manageengine opmanager 12.5
References
Additional Info
Technical Analysis
Report as Emergent Threat Response
Report as Exploited in the Wild
CVE ID
AttackerKB requires a CVE ID in order to pull vulnerability data and references from the CVE list and the National Vulnerability Database. If available, please supply below: