CVE-2021-29427 in Gradle
Сводка
по VulDB • 26.05.2026
В Gradle начиная с версии 5.1 и до версии 7.0 (включительно) существует уязвимость, которая может привести к раскрытию информации и/или отравлению зависимостей. Фильтрация содержимого репозиториев — это механизм безопасности, внедренный в Gradle, чтобы помочь пользователям указать, какие репозитории используются для разрешения конкретных зависимостей. Эта функция была добавлена после публикации статьи в блоге «A Confusing Dependency». В некоторых случаях Gradle может игнорировать фильтры содержимого и искать зависимости во всех репозиториях. Это происходит только тогда, когда фильтрация содержимого репозиториев используется внутри блока `pluginManagement` в файле настроек (settings file). Это может изменить процесс разрешения зависимостей для плагинов Gradle и скриптов сборки. Для уязвимых сборок существуют два основных риска: 1) Раскрытие информации: Gradle может отправлять запросы зависимостей к репозиториям за пределами вашей организации и утекать внутренние идентификаторы пакетов. 2) Отравление зависимостей/путаница зависимостей (Dependency confusion): Gradle может загрузить вредоносный бинарный файл из репозитория за пределами вашей организации из-за захвата имен (name squatting). Полный пример и дополнительные сведения см. в соответствующем уведомлении о безопасности GitHub (GitHub Security Advisory). Проблема исправлена и выпущена в составе Gradle 7.0. Пользователям, полагающимся на эту функцию, следует как можно скорее обновить свои сборки. В качестве временного решения (workaround) пользователи могут использовать корпоративный репозиторий, который имеет правильные правила получения пакетов из публичных репозиториев, или применять фильтрацию содержимого репозиториев на уровне проекта внутри `buildscript.repositories`. Эта опция доступна начиная с Gradle 5.1, когда была введена данная функция.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.