What’s Vulnerable › Vulnerabilities
CVE-2021-21249: Post-Auth Unsafe Yaml deserialization
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 3.1% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2021-01-15 · updated 2026-06-17
- Weakness: CWE-74
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
Affected products
- theonedev onedev: before 4.0.3 — fixed in 4.0.3
How to fix
Upgrade to a fixed version: theonedev onedev 4.0.3. Check the vendor advisory for mitigations.
References
- https://github.com/theonedev/onedev/commit/d6fc4212b1ac1e9bbe3ce444e95f9af1e3ab8b66
- https://github.com/theonedev/onedev/security/advisories/GHSA-7xhq-m2q9-6hpm
- https://github.com/theonedev/onedev/commit/d6fc4212b1ac1e9bbe3ce444e95f9af1e3ab8b66
- https://github.com/theonedev/onedev/security/advisories/GHSA-7xhq-m2q9-6hpm
Get alerted when CVE-2021-21249 or the next vulnerability affects your stack