Vulnerabilidad en el tráfico entre la aplicación y el servidor de Radar COVID (CVE-2020-26230)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-200
Revelación de información
Fecha de publicación:
13/11/2020
Última modificación:
04/02/2021
Descripción
Radar COVID es la aplicación oficial de notificación de exposición COVID-19 para España. En las versiones afectadas de Radar COVID, es posible la identificación y desanonimización de los usuarios positivos de COVID-19 que cargan Radar COVID TEK en el servidor de Radar COVID. Esta vulnerabilidad permite la identificación y desanonimización de los usuarios positivos de COVID-19 cuando se usa Radar COVID. La vulnerabilidad es causada mediante el hecho de que las conexiones de COVID de radar al servidor (cargando desde TEK hacia el backend) solo las realizan los positivos de COVID-19. Por lo tanto, cualquier observador sobre la ruta con la capacidad de monitorear el tráfico entre la aplicación y el servidor puede identificar qué usuarios tuvieron una prueba positiva. Tal adversario puede ser el operador de red móvil (MNO) si la conexión se realiza por medio de una red móvil, el Proveedor de Servicios de Internet (ISP) si la conexión se realiza por medio de Internet (por ejemplo, una red doméstica), un proveedor de VPN usado por el usuario, el operador de red local en el caso de redes empresariales, o cualquier espía con acceso a la misma red (WiFi o Ethernet) que el usuario como podría ser el caso de puntos de acceso WiFi públicos desplegados en centros comerciales, aeropuertos, hoteles y cafeterías. El atacante también puede anonimizar al usuario. Para que esta etapa adicional tenga éxito, el adversario necesita correlacionar el tráfico de Radar COVID con otra información identificable de la víctima. Esto podría ser logrado asociando la conexión a un contrato con el nombre de la víctima o al asociar el tráfico de Radar COVID a otros flujos generados por el usuario que contengan identificadores en claro (por ejemplo, cookies HTTP u otros flujos móviles que envían identificadores únicos como IMEI o el AAID sin cifrar). El primero puede ser ejecutado, por ejemplo, por el Proveedor de Servicios de Internet o el MNO. Este último puede ser ejecutado por cualquier adversario sobre la ruta, como el proveedor de red o incluso el proveedor de nube que aloja más de un servicio al que accede la víctima. Cuanto más lejos esté el adversario de la víctima (el cliente) o del endpoint (el servidor), es menos probable que el adversario tenga acceso a la información de reidentificación. La vulnerabilidad ha sido mitigada con la inyección de tráfico ficticio desde la aplicación hacia el backend. Todos los usuarios generan tráfico ficticio independientemente de si son positivos para COVID-19 o no. El problema se corrigió en iOS en versión 1.0.8 (distribución uniforme), versión 1.1.0 (distribución exponencial), Android en versión 1.0.7 (distribución uniforme), versión 1.1.0 (distribución exponencial), Backend en versión 1.1.2- RELEASE. Para más información consulte el GitHub Security Advisory referenciado
Impacto
Puntuación base 3.x
5.30
Gravedad 3.x
MEDIA
Puntuación base 2.0
2.60
Gravedad 2.0
BAJA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:radarcovid:radar-covid-backend-dp3t-server:*:*:*:*:*:*:*:* | 1.1.2 (excluyendo) | |
cpe:2.3:a:radarcovid:radarcovid:*:*:uniform_distribution:*:*:android:*:* | 1.0.7 (excluyendo) | |
cpe:2.3:a:radarcovid:radarcovid:*:*:uniform_distribution:*:*:iphone_os:*:* | 1.0.8 (excluyendo) | |
cpe:2.3:a:radarcovid:radarcovid:*:*:exponential_distribution:*:*:android:*:* | 1.1.0 (excluyendo) | |
cpe:2.3:a:radarcovid:radarcovid:*:*:exponential_distribution:*:*:iphone_os:*:* | 1.1.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/DP-3T/documents/blob/master/DP3T%20-%20Best%20Practices%20for%20Operation%20Security%20in%20Proximity%20Tracing.pdf
- https://github.com/RadarCOVID/radar-covid-android/commit/09d00e5ede801ca400d45c7feda5a99c34e4176c
- https://github.com/RadarCOVID/radar-covid-android/commit/53252773ffa81e116deabcbbea3bac96872b9888
- https://github.com/RadarCOVID/radar-covid-android/commit/7fdc7debeb8a37faa77b53d9f9a1b4bbcff445ce
- https://github.com/RadarCOVID/radar-covid-android/commit/8e5d14ec60e0c1847a4733556cf34d232c27102c
- https://github.com/RadarCOVID/radar-covid-android/commit/91dcfff6252055637bc9ee0c46b8f003d64a16b9
- https://github.com/RadarCOVID/radar-covid-android/commit/9627f4d69705bca68e550eefd3df1b9abe90b215
- https://github.com/RadarCOVID/radar-covid-android/commit/ea0c4cc837f72f58e2b5df1ecf0899743ec3cdf8
- https://github.com/RadarCOVID/radar-covid-backend-dp3t-server/commit/6d30c92cc8fcbde3ded7e9518853ef278080344d
- https://github.com/RadarCOVID/radar-covid-backend-dp3t-server/commit/c37f81636250892670750e3989139fd76d4beffe
- https://github.com/RadarCOVID/radar-covid-backend-dp3t-server/security/advisories/GHSA-w7jx-37x3-w2jx
- https://github.com/RadarCOVID/radar-covid-ios/commit/2d1505d4858642995ea09f02f23c953acaa65195