Vulnerabilidad en la función GenericFilter en la API de Java Reflection en Apache Dubbo (CVE-2021-30179)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-502
Deserialización de datos no confiables
Fecha de publicación:
01/06/2021
Última modificación:
07/11/2023
Descripción
Apache Dubbo versiones anteriores a 2.6.9 y 2.7.9, por defecto admite llamadas genéricas a métodos arbitrarios expuestos por interfaces de proveedor. Estas invocaciones son manejadas por la función GenericFilter que encontrará el servicio y método especificado en los primeros argumentos de la invocación y usará la API de Java Reflection para realizar la llamada final. La firma para los métodos $invoke o $invokeAsync es Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/Object; donde el primer argumento es el nombre del método a invocar, el segundo es una matriz con los tipos de parámetros para el método que es invocado y el tercero es una matriz con los argumentos de llamada reales. Además, la persona que llama también debe ajustar un adjunto RPC que especifique que la llamada es una llamada genérica y cómo decodificar los argumentos. Los valores posibles son: - true - raw.return - nativejava - bean - protobuf-json Un atacante puede controlar este adjunto RPC y ajustarlo en nativejava para forzar la deserialización java de la matriz de bytes ubicada en el tercer argumento
Impacto
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Puntuación base 2.0
7.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:apache:dubbo:*:*:*:*:*:*:*:* | 2.5.0 (incluyendo) | 2.5.10 (incluyendo) |
| cpe:2.3:a:apache:dubbo:*:*:*:*:*:*:*:* | 2.6.0 (incluyendo) | 2.6.9 (excluyendo) |
| cpe:2.3:a:apache:dubbo:*:*:*:*:*:*:*:* | 2.7.0 (incluyendo) | 2.7.10 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



