CVE-2021-21249

Critical

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

SeverityCritical
CVSS9.6
Exploit probability—
ProductOnedev
PublishedJan 15, 2021
First seenJan 15, 2021
Weakness typeCWE-74Injection

How to fix

Update
  • onedev_project onedev4.0.3 or later

Affected products

ProductAffected versionsFixed in
onedev_project onedevv < 4.0.34.0.3

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.