CVE-2021-39194 json
Denial of service while parsing polymorphic input with tagged polymorphism style in kaml
published 2021-09-07 5 y ago modified 2026-07-08 4 mo ago also GHSA-fmm9-3gv8-58f4 , EUVD-2021-2055
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.7%
- EPSS 1.7% chance of exploitation in 30 days, percentile 76%
- public exploits
- 0
- none known
Summary
kaml is an open source implementation of the YAML format with support for kotlinx.serialization. In affected versions attackers that could provide arbitrary YAML input to an application that uses kaml could cause the application to endlessly loop while parsing the input. This could result in resource starvation and denial of service. This only affects applications that use polymorphic serialization with the default tagged polymorphism style. Applications using the property polymorphism style are not affected. YAML input for a polymorphic type that provided a tag but no value for the object would trigger the issue. Version 0.35.3 or later contain the fix for this issue.
Patch / fix
- maven com.charleskorn.kaml:kaml 0.35.3
- kaml_project kaml 0.35.3
Exploit prediction
1.66% chance of exploitation in the next 30 days, higher than 76% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/charleskorn/kaml/issues/179 referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/charleskorn/kaml/security/advisories/GHSA-fmm9-3gv8-58f4 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L |
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 4.0 | AV:N/AC:L/Au:S/C:N/I:N/A:P |
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | com.charleskorn.kaml:kaml | <0.35.3 |
0.35.3 |
Affected products
- charleskorn kaml
Classification
References
-
github.com
/charleskorn/kaml/commit/e18785d043fc6324c81e968aae9764b4b060bc6a
web, patch, third-party-advisory
-
github.com
/charleskorn/kaml/issues/179
web, exploit, patch, third-party-advisory
-
github.com
/charleskorn/kaml/security/advisories/GHSA-fmm9-3gv8-58f4
web, exploit, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-39194
advisory
-
github.com
/charleskorn/kaml
web
Sources
- CVE List CVE-2021-39194
- GitHub Advisory GHSA-fmm9-3gv8-58f4
- NVD CVE-2021-39194
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.