Apache Dubbo Pre-auth RCE via Java deserialization in the Generic filter
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-502.
Summary
Apache Dubbo prior to 2.6.9 and 2.7.9 by default supports generic calls to arbitrary methods exposed by provider interfaces. These invocations are handled by the GenericFilter which will find the service and method specified in the first arguments of the invocation and use the Java Reflection API to make the final call. The signature for the $invoke or $invokeAsync methods is Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/Object; where the first argument is the name of the method to invoke, the second one is an array with the parameter types for the method being invoked and the third one is an array with the actual call arguments. In addition, the caller also needs to set an RPC attachment specifying that the call is a generic call and how to decode the arguments. The possible values are: - true - raw.return - nativejava - bean - protobuf-json An attacker can control this RPC attachment and set it to nativejava to force the java deserialization of the byte array located in the third argument.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Apache | Apache Dubbo | Apache Dubbo 2.7.x to before 2.7.9; Apache Dubbo 2.6.x to before 2.6.9 | 2.7.9, 2.6.9 | Patch available | CNA |
| — | org.apache.dubbo:dubbo (Maven) | 2.5.0 to before 2.7.10 | 2.7.10 | Patch available | GHSA-5mc7-m686-p6jg |
| — | com.alibaba:dubbo (Maven) | 2.5.0 to before 2.6.9 | 2.6.9 | Patch available | GHSA-5mc7-m686-p6jg |
- Apache Dubbo VendorApache Affected Apache Dubbo 2.7.x to before 2.7.9; Apache Dubbo 2.6.x to before 2.6.9 Fixed in 2.7.9, 2.6.9 Patch available CNA
- org.apache.dubbo:dubbo (Maven) Vendor— Affected 2.5.0 to before 2.7.10 Fixed in 2.7.10 Patch available GHSA-5mc7-m686-p6jg
- com.alibaba:dubbo (Maven) Vendor— Affected 2.5.0 to before 2.6.9 Fixed in 2.6.9 Patch available GHSA-5mc7-m686-p6jg
Remediation
- Fix · CNA Apache Dubbo (Apache Software Foundation) Fixed in 2.7.9, 2.6.9
- Fix · GHSA-5mc7-m686-p6jg org.apache.dubbo:dubbo (Maven) Fixed in 2.7.10 Advisory →
- Fix · GHSA-5mc7-m686-p6jg com.alibaba:dubbo (Maven) Fixed in 2.6.9 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Apache Dubbo 2.6.9, 2.7.9
2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2021-07773 Open Redirect or SSRF vulnerability usage of parseURLPriority LOW 31
Timeline
- 2026-10-02 Threatist record created from CVE-2021-30179
- 2026-10-03 Alias added: GHSA-5mc7-m686-p6jg
References
Advisory 2
More Apache Dubbo vulnerabilities
- TI-2021-12489 Regular expression Denial of Service in MooTools CVSS 3.1CRITICAL 9.8
- TI-2021-10721 Apache Dubbo RCE on customers via Script route poisoning (Nashorn script injection) CVSS 3.1CRITICAL 9.8
- TI-2021-10720 Apache Dubbo RCE on customers via Condition route poisoning (Unsafe YAML unmarshaling) CVSS 3.1CRITICAL 9.8
- TI-2019-13107 Deserialization of untrusted data in Apache Dubbo CVSS 3.1CRITICAL 9.8
- TI-2021-07774 Dubbo Zookeeper does not check serialization id CVSS 3.1CRITICAL 9.8
- TI-2021-19290 Dubbo Hessian cause RCE when parse error CVSS 3.1CRITICAL 9.8
Sources
- CVE-2021-30179 · CVE Program
- CVE-2021-30179 · NVD
- FIRST EPSS
- GHSA-5mc7-m686-p6jg · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences