Skip to main content
← All vulnerabilities
CVE-2021-21249

Post-Auth Unsafe Yaml deserialization

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.0.3
None on Exploit-DB, Metasploit or GitHub

Summary

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

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • theonedev onedev

    fixed in 4.0.3

References 2

GitHub · theonedev/onedev