CVE-2021-25641
Deserializer tampering in Apache Dubbo
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.
How to fix CVE-2021-25641
To remediate CVE-2021-25641, upgrade the affected package to a fixed version below.
- —upgrade to 2.6.9 or later
- —upgrade to 2.7.8 or later
Is CVE-2021-25641 being exploited?
Likely — EPSS is 74.6%, placing CVE-2021-25641 in the top tier of vulnerabilities by exploitation probability. Prioritise patching.
Affected packages (2)
- >= 2.5.0, < 2.6.9
- >= 2.5.0, < 2.7.8
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | CRITICAL9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |