Java Object Deserialization

critical Web App 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://resources.infosecinstitute.com/10-steps-avoid-insecure-deserialization/#gref

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

Plugin Details

Severity: Critical

ID: 98780

Type: remote

Published: 10/7/2020

Updated: 12/1/2023

Scan Template: api, pci, scan

Risk Information

VPR

Risk Factor: High

Score: 7.5

CVSS v2

Risk Factor: High

Base Score: 7.6

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

CVSS Score Source: Tenable

CVSS v3

Risk Factor: Critical

Base Score: 9

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

CVSS Score Source: Tenable

CVSS v4

Risk Factor: Critical

Base Score: 9.2

Vector: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

CVSS Score Source: Tenable

Vulnerability Information

Exploit Available: true

Reference Information