Synopsis
Java Object Deserialization
Description
Serialization is the process of converting an object to a stream of bytes, in order to store or send it through the network. By opposition, deserialization is the process of reconstructing an object from this stream of bytes.
When an application performs untrusted data deserialization, an attacker could inject a custom serialized Java object to trigger malicious code execution on the system or to generate a Denial of Service attack (DoS).
It was determined that the target Java application is vulnerable to this attack as it deserializes an user-supplied object.
Solution
Untrusted data should never be deserialized by the application. If required, a code review should be done to prevent deserialization of arbitrary classes and to harden the whole process.