Vulnerability · Published May 29, 2021 · Assigned by apache

CVE-2021-25641Dubbo Zookeeper does not check serialization id

Critical 9.8

In plain English

A critical-severity security flaw in Apache Dubbo from Apache Software Foundation. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 21.2% (higher than 98% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)9.8Critical
Exploit odds (30 days)21.2%top 2.4% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack tooling1Public PoC

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Mavencom.alibaba:dubbo2.6.9GHSA-v2rg-8cwr-75g8
Mavenorg.apache.dubbo:dubbo2.7.8GHSA-v2rg-8cwr-75g8

Affected products (as reported)

VendorProductVersions
Apache Software Foundation Apache Dubbo Apache Dubbo 2.7.x – before 2.7.8Apache Dubbo 2.6.x – before 2.6.9

References