GitHub Advisoryadvisory · Maven

GHSA-4ph4-q9r5-6wm6 Deserialization of Untrusted Data in Spring Batch

HIGH Published 2022-05-24 Modified 2022-06-23 Official page ↗
Aliases
CVE-2020-5411
Ecosystem
Maven
Packages
org.springframework.batch:spring-batch-core
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-502
Reviewed
2022-06-23

Affected packages

• Maven org.springframework.batch:spring-batch-core: >= 4.0.0, < 4.2.3 → fixed in 4.2.3

Description

When configured to enable default typing, Jackson contained a deserialization vulnerability that could lead to arbitrary code execution. Jackson fixed this vulnerability by blacklisting known "deserialization gadgets". Spring Batch configures Jackson with global default typing enabled which means that through the previous exploit, arbitrary code could be executed if all of the following is true: * Spring Batch's Jackson support is being leveraged to serialize a job's ExecutionContext. * A malicious user gains write access to the data store used by the JobRepository (where the data to be deserialized is stored). In order to protect against this type of attack, Jackson prevents a set of untrusted gadget classes from being deserialized. Spring Batch should be proactive against blocking unknown "deserialization gadgets" when enabling default typing.

Related

Alias · CVE (1)

  • CVE-2020-5411 When configured to enable default typing, Jackson contained a deserialization vulnerability that could lead to arbitrary code execution. vulnerability

Weakness · CWE (1)

  • CWE-502 Deserialization of Untrusted Data weakness

References