Skip to main content
← All vulnerabilities
CVE-2021-25641GHSA-V2RG-8CWR-75G8

Dubbo Zookeeper does not check serialization id

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.7.8, 2.6.9
2 proofs of concept on GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated
  3. EPSS reached 10%

    FIRST estimates at least a 10% chance of exploitation in the next 30 days

Affected versions

  • Apache Software Foundation Apache Dubbo

    From Apache Dubbo 2.7.x · fixed in 2.7.8; From Apache Dubbo 2.6.x · fixed in 2.6.9

  • org.apache.dubbo:dubboMaven

    From 2.5.0 · fixed in 2.7.8

  • com.alibaba:dubboMaven

    From 2.5.0 · fixed in 2.6.9

References 3

lists.apache.org

GitHub · Dor-Tumarkin/CVE-2021-25641-Proof-of-Concept

GitHub · l0n3rs/CVE-2021-25641