Vulnerability · Published Jun 11, 2020 · Assigned by pivotal

CVE-2020-5411Jackson Configuration Allows Code Execution with Unknown "Serialization Gadgets"

High 8.1

In plain English

A high-severity unsafe deserialization in Spring Batch from Spring by VMware. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.7% (higher than 77% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)8.1High
Exploit odds (30 days)1.7%top 22.5% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Mavenorg.springframework.batch:spring-batch-core4.2.3GHSA-4ph4-q9r5-6wm6

Affected products (as reported)

VendorProductVersions
Spring by VMware Spring Batch 4 – before 4.2.3

Weakness: CWE-502

References