First published: Sat May 29 2021(Updated: )
Each Apache Dubbo server will set a serialization id to tell the clients which serialization protocol it is working on. But for Dubbo versions before 2.7.8 or 2.6.9, an attacker can choose which serialization id the Provider will use by tampering with the byte preamble flags, aka, not following the server's instruction. This means that if a weak deserializer such as the Kryo and FST are somehow in code scope (e.g. if Kryo is somehow a part of a dependency), a remote unauthenticated attacker can tell the Provider to use the weak deserializer, and then proceed to exploit it.
Credit: security@apache.org
Affected Software | Affected Version | How to fix |
---|---|---|
Apache Dubbo | >=2.5.0<2.6.9 | |
Apache Dubbo | >=2.7.0<2.7.8 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2021-25641 is a vulnerability in Apache Dubbo servers where an attacker can choose the serialization id the Provider uses by tampering with flags.
The severity of CVE-2021-25641 is critical, with a CVSS score of 9.8.
Apache Dubbo versions before 2.7.8 or 2.6.9 are affected by CVE-2021-25641.
An attacker can exploit CVE-2021-25641 by tampering with the byte preamble flags to choose the serialization id used by the Provider.
Yes, upgrading to Apache Dubbo version 2.7.8 or 2.6.9 will fix CVE-2021-25641.