CVE-2021-29427 in Gradle
Resumen
por VulDB • 2026-05-25
En Gradle, desde la versión 5.1 hasta la versión 7.0 (excluida), existe una vulnerabilidad que puede provocar la divulgación de información y/o el envenenamiento de dependencias. El filtrado del contenido del repositorio es un control de seguridad que Gradle introdujo para ayudar a los usuarios a especificar qué repositorios se utilizan para resolver dependencias específicas. Esta función se introdujo tras la publicación del artículo 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 se utiliza el filtrado del contenido del repositorio dentro de un bloque `pluginManagement` en un archivo de configuración (settings file). Esto puede alterar la forma en que se resuelven las dependencias para los complementos de Gradle y los scripts de compilación. Para las compilaciones vulnerables, existen dos riesgos: 1) Divulgación de información: Gradle podría realizar solicitudes de dependencias a repositorios fuera de su organización y filtrar identificadores de paquetes internos. 2) Envenenamiento de dependencias/confusión de dependencias: Gradle podría descargar un binario malicioso desde un repositorio fuera de su organización debido al registro especulativo de nombres (name squatting). Para un ejemplo completo y más detalles, consulte la Asesoría de Seguridad de GitHub referenciada. El problema ha sido corregido y publicado con Gradle 7.0. Los usuarios que dependen de esta función deberían actualizar su compilación lo antes posible. Como solución alternativa, los usuarios pueden utilizar un repositorio corporativo que tenga las reglas adecuadas para obtener paquetes de repositorios públicos, o utilizar el filtrado del contenido del repositorio a nivel de proyecto, dentro de `buildscript.repositories`. Esta opción está disponible desde Gradle 5.1, cuando se introdujo la función.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.