Skip to content
Fencer Vulns
critical 9.8

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

Sources

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.