CVE-2021-25641

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.

Affected Software

VendorProductVersion RangeStatus
Apache Software FoundationApache DubboApache Dubbo 2.7.x < 2.7.8affected
Apache Software FoundationApache DubboApache Dubbo 2.6.x < 2.6.9affected

Weaknesses

  • Remote Code Execution by tempering the serialization id on server side.

ADP Enrichment

CVE Program Container

Additional References

References