CVE-2021-41110 json
CWL Viewer: deserialization of untrusted data can lead to complete takeover by an attacker
published 2021-10-01 5 y ago modified 2026-06-17 4 mo ago also EUVD-2021-28245
- cvss
- 9.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.8%
- EPSS 2.8% chance of exploitation in 30 days, percentile 86%
- public exploits
- 0
- none known
Summary
cwlviewer is a web application to view and share Common Workflow Language workflows. Versions prior to 1.3.1 contain a Deserialization of Untrusted Data vulnerability. Commit number f6066f09edb70033a2ce80200e9fa9e70a5c29de (dated 2021-09-30) contains a patch. There are no available workarounds aside from installing the patch. The SnakeYaml constructor, by default, allows any data to be parsed. To fix the issue the object needs to be created with a `SafeConstructor` object, as seen in the patch.
Patch / fix
- commonwl cwlviewer 1.3.1
Exploit prediction
2.81% chance of exploitation in the next 30 days, higher than 86% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- fatalerrors.org https://www.fatalerrors.org/a/analysis-of-the-snakeyaml-deserialization-in-java-security.html referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H |
| 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 |
Affected products
- common-workflow-language cwlviewer
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
github.com
/common-workflow-language/cwlviewer/commit/f6066f09edb70033a2ce80200e9fa9e70a5c29de
patch, third-party-advisory
-
github.com
/common-workflow-language/cwlviewer/security/advisories/GHSA-7g7j-f5g3-fqp7
patch, third-party-advisory
-
fatalerrors.org
/a/analysis-of-the-snakeyaml-deserialization-in-java-security.html
exploit, third-party-advisory
Sources
- CVE List CVE-2021-41110
- NVD CVE-2021-41110
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.