Java Object Deserialization

High Web Application Scanning Plugin ID 98780

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.

See Also

https://cheatsheetseries.owasp.org/cheatsheets/Deserialization_Cheat_Sheet.html

https://www.owasp.org/index.php/Deserialization_of_untrusted_data

https://resources.infosecinstitute.com/10-steps-avoid-insecure-deserialization/#gref

Plugin Details

Severity: High

ID: 98780

Type: remote

Published: 2020/10/07

Updated: 2020/10/07

Scan Template: api, scan, pci

Risk Information

Risk Factor: High

CVSS v2.0

Base Score: 7.6

Vector: CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C

CVSS v3.0

Base Score: 9

Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Vulnerability Information

Exploit Available: true

Patch Publication Date: 2020/01/02

Vulnerability Publication Date: 2017/01/01

Reference Information