Vulnerabilidad en el filtrado de contenido del repositorio en un bloque `pluginManagement` en un archivo de configuración en Gradle (CVE-2021-29427)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
13/04/2021
Última modificación:
20/10/2021
Descripción
En Gradle desde versión 5.1 y anterior a la versión 7.0, se presenta una vulnerabilidad que puede conducir a la divulgación de información y/o envenenamiento por dependencia. El filtrado de contenido del repositorio es un control de seguridad que Gradle introdujo para ayudar a los usuarios a especificar qué repositorios se usan para resolver dependencias específicas. Esta función se introdujo a raíz de la publicación de blog "A Confusing Dependency". En algunos casos, Gradle puede ignorar los filtros de contenido y buscar dependencias en todos los repositorios. Esto solo ocurre cuando el filtrado de contenido del repositorio se usa dentro de un bloque `pluginManagement` en un archivo de configuración. Esto puede cambiar la forma en que se resuelven las dependencias para los plugins de Gradle y los scripts de compilación. Para las compilaciones que son vulnerables, existen dos riesgos: 1) Divulgación de información: Gradle podría realizar peticiones de dependencia a repositorios fuera de su organización y filtrar identificadores de paquetes internos. 2) Envenenamiento por Dependencia / Confusión de Dependencia: Gradle podría descargar un binario malicioso de un repositorio fuera de su organización debido a la ocupación ilegal de nombres. Para obtener un ejemplo completo y más detalles, consulte el Aviso de seguridad de GitHub al que se hace referencia. El problema se ha corregido y publicado con Gradle versión 7.0. Los usuarios que confían en esta función deben actualizar su compilación lo antes posible. Como solución alternativa, los usuarios pueden utilizar un repositorio de la empresa que tenga las reglas adecuadas para recuperar paquetes de repositorios públicos, o utilizar el filtrado de contenido del repositorio a nivel de proyecto, dentro de `buildscript.repositories`. Esta opción está disponible desde Gradle versión 5.1 cuando se introdujo la función
Impacto
Puntuación base 3.x
7.20
Gravedad 3.x
ALTA
Puntuación base 2.0
6.00
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:gradle:gradle:*:*:*:*:*:*:*:* | 5.1 (incluyendo) | 7.0 (excluyendo) |
| cpe:2.3:a:quarkus:quarkus:*:*:*:*:*:*:*:* | 2.2.3 (incluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



