Remote Code Execution in Apache Dubbo
High severity
GitHub Reviewed
Published
Sep 8, 2021
to the GitHub Advisory Database
•
Updated Feb 1, 2023
Package
Affected versions
< 2.7.13
>= 3.0.0, < 3.0.2
Patched versions
2.7.13
3.0.2
Description
Published by the National Vulnerability Database
Sep 7, 2021
Reviewed
Sep 8, 2021
Published to the GitHub Advisory Database
Sep 8, 2021
Last updated
Feb 1, 2023
Apache Dubbo supports various rules to support configuration override or traffic routing (called routing in Dubbo). These rules are loaded into the configuration center (eg: Zookeeper, Nacos, ...) and retrieved by the customers when making a request in order to find the right endpoint. When parsing these YAML rules, Dubbo customers will use SnakeYAML library to load the rules which by default will enable calling arbitrary constructors. An attacker with access to the configuration center he will be able to poison the rule so when retrieved by the consumers, it will get RCE on all of them. This was fixed in Dubbo 2.7.13, 3.0.2
References