CVE-2020-5411 json
Jackson Configuration Allows Code Execution with Unknown "Serialization Gadgets"
published 2020-06-11 6 y ago modified 2026-09-01 2 mo ago also GHSA-4ph4-q9r5-6wm6 , EUVD-2022-2414
- cvss
- 8.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.7%
- EPSS 1.7% chance of exploitation in 30 days, percentile 77%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- maven org.springframework.batch:spring-batch-core 4.2.3
- Spring by VMware Spring Batch 4.2.3
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2020-5411 updated cvss 8.1
spring-batch-core: Jackson configuration allows code execution with unknown serialization gadgets
-
Red Hat Fuse 7 spring-batch-core spring-batch-corenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.71% chance of exploitation in the next 30 days, higher than 77% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 6.8 | AV:N/AC:M/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.springframework.batch:spring-batch-core | >=4.0.0, <4.2.3 |
4.2.3 |
Affected products
- Spring by VMware Spring Batch
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
tanzu.vmware.com
/security/cve-2020-5411
web, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-5411
advisory
-
github.com
/spring-projects/spring-batch
package
Sources
- CVE List CVE-2020-5411
- GitHub Advisory GHSA-4ph4-q9r5-6wm6
- NVD CVE-2020-5411
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.