Post-Auth Unsafe Yaml deserialization
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-502.
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
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
- Fix · CNA onedev (theonedev) Fixed in 4.0.3
Timeline
- 2026-10-02 Threatist record created from CVE-2021-21249
References
More theonedev Onedev vulnerabilities
- TI-2021-04345 Pre-Auth Unsafe Deserialization on AttachmentUploadServet CVSS 3.1CRITICAL 10.0
- TI-2022-18585 CI/CD Docker Escape in OneDev CVSS 3.1CRITICAL 9.9
- TI-2022-18584 Access Control Bypass in Onedev CVSS 3.1CRITICAL 9.8
- TI-2021-04346 Pre-Auth Unsafe Deserialization on KubernetesResource CVSS 3.1CRITICAL 10.0
- TI-2022-18587 Git Repository Disclosure in Onedev CVSS 3.1HIGH 7.5
- TI-2021-04349 Pre-Auth Access token leak CVSS 3.1HIGH 8.6
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences