CVE-2021-21249
Summary
| CVE | CVE-2021-21249 |
|---|---|
| State | PUBLIC |
| Assigner | [email protected] |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2021-01-15 21:15:00 UTC |
| Updated | 2022-04-26 16:13:00 UTC |
| Description | OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, there is an issue involving YAML parsing which can lead to post-auth remote code execution. In order to parse and process YAML files, OneDev uses SnakeYaml which by default (when not using `SafeConstructor`) allows the instantiation of arbitrary classes. We can leverage that to run arbitrary code by instantiating classes such as `javax.script.ScriptEngineManager` and using `URLClassLoader` to load the script engine provider, resulting in the instantiation of a user controlled class. For a full example refer to the referenced GHSA. This issue was addressed in 4.0.3 by only allowing certain known classes to be deserialized |
Risk And Classification
Problem Types: CWE-502
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Application | Onedev Project | Onedev | All | All | All | All |
| Application | Onedev Project | Onedev | All | All | All | All |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| Fix security vulnerability issue caused by SnakeYaml deserialization · theonedev/onedev@d6fc421 · GitHub | MISC | github.com | Patch, Third Party Advisory |
| Post-Auth Unsafe Yaml deserialization · Advisory · theonedev/onedev · GitHub | CONFIRM | github.com | Third Party Advisory |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.