CVE-2020-5413 json
Kryo Configuration Allows Code Execution with Unknown "Serialization Gadgets"
published 2020-07-31 6 y ago modified 2026-06-17 4 mo ago also GHSA-86qr-9vqc-pgc6 , EUVD-2020-0604
- cvss
- 9.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 4.4%
- EPSS 4.4% chance of exploitation in 30 days, percentile 91%
- public exploits
- 0
- none known
Summary
Spring Integration framework provides Kryo Codec implementations as an alternative for Java (de)serialization. When Kryo is configured with default options, all unregistered classes are resolved on demand. This leads to the "deserialization gadgets" exploit when provided data contains malicious code for execution during deserialization. In order to protect against this type of attack, Kryo can be configured to require a set of trusted classes for (de)serialization. Spring Integration should be proactive against blocking unknown "deserialization gadgets" when configuring Kryo in code.
Patch / fix
- maven org.springframework.integration:spring-integration-core 4.3.23, 5.1.12, 5.2.8, 5.3.2
- Spring by VMware Spring Integration v4.3.23.RELEASE, v5.1.12.RELEASE, v5.2.8.RELEASE, v5.3.2.RELEASE
Exploit prediction
4.41% chance of exploitation in the next 30 days, higher than 91% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.springframework.integration:spring-integration-core | >=4.3.0, <4.3.23 >=5.3.0, <5.3.2 >=5.1.0, <5.1.12 >=5.2.0, <5.2.8 |
4.3.23 5.3.2 5.1.12 5.2.8 |
Affected products
- Spring by VMware Spring Integration
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
oracle.com
/security-alerts/cpuApr2021.html
web, patch, third-party-advisory
-
oracle.com
//security-alerts/cpujul2021.html
web, patch, third-party-advisory
-
oracle.com
/security-alerts/cpuoct2021.html
web, patch, third-party-advisory
-
oracle.com
/security-alerts/cpuapr2022.html
web, patch, third-party-advisory
-
github.com
/spring-projects/spring-integration/commit/6a02b5abe97fabab6003d51b98dd45ab009a6e05
web
-
tanzu.vmware.com
/security/cve-2020-5413
web, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-5413
advisory
-
github.com
/spring-projects/spring-integration
package
Sources
- CVE List CVE-2020-5413
- GitHub Advisory GHSA-86qr-9vqc-pgc6
- NVD CVE-2020-5413
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.