Insecure Defaults Affecting org.springframework.batch:spring-batch-core package, versions [4.0.0.RELEASE, 4.2.3.RELEASE)


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.2% (58th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Insecure Defaults vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-JAVA-ORGSPRINGFRAMEWORKBATCH-572008
  • published11 Jun 2020
  • disclosed11 Jun 2020
  • creditUnknown

Introduced: 11 Jun 2020

CVE-2020-5411  (opens in a new tab)
CWE-453  (opens in a new tab)

How to fix?

Upgrade org.springframework.batch:spring-batch-core to version 4.2.3.RELEASE or higher.

Overview

org.springframework.batch:spring-batch-core is a framework for writing offline and batch applications using Spring and Java.

Affected versions of this package are vulnerable to Insecure Defaults. When configured to enable default typing, Jackson contained a deserialization vulnerability (https://github.com/FasterXML/jackson-databind/issues/1599) 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 (https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization#11-global-default-typing) 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).

CVSS Scores

version 3.1