Skip to main content

Deserialization of Untrusted Data


Severity High
Score 9.8/10


SOFARPC is a Java RPC framework. SOFARPC defaults to using the SOFA Hessian protocol to deserialize received data, while the SOFA Hessian protocol uses a blacklist mechanism to restrict the deserialization of potentially dangerous classes for security protection. But, in versions prior to 5.12.0, there is a gadget chain that can bypass the SOFA Hessian blacklist protection mechanism, and this gadget chain only relies on JDK and does not rely on any third-party components. The issue fixed by adding a blacklist. SOFARPC also provides a way to add additional blacklists. Users can add a class like'-Drpc_serialize_blacklist_override=org.apache.xpath.' to avoid this issue.

  • LOW
  • HIGH
  • NONE
  • NONE
  • HIGH
  • HIGH

CWE-502 - Deserialization of Untrusted Data

Deserialization of untrusted data vulnerabilities enable an attacker to replace or manipulate a serialized object, replacing it with malicious data. When the object is deserialized at the victim's end the malicious data is able to compromise the victim’s system. The exploit can be devastating, its impact may range from privilege escalation, broken access control, or denial of service attacks to allowing unauthorized access to the application's internal code and logic which can compromise the entire system.


Advisory Timeline

  • Published