Description
Renovate is a dependency update automation tool. In versions before 44.14.7 (and in Mend Renovate CE/EE distributions before 15.4.0, and the mend-renovate-enterprise-edition Helm chart before 10.4.0), the manager/gradle-wrapper module does not escape the distributionUrl value read from a repository's gradle/wrapper/gradle-wrapper.properties file before invoking the Gradle Wrapper CLI. In self-hosted deployments configured with binarySource=docker and allowedUnsafeExecutions=['gradleWrapper', ...], a repository that supplies a crafted distributionUrl (for example, appending a shell metacharacter and command) can cause arbitrary commands to be executed as the Renovate user when Renovate processes a Gradle Wrapper update. The issue is fixed in Renovate 44.14.7; as a workaround, remove 'gradleWrapper' from allowedUnsafeExecutions.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| renovatebot | renovate | < 44.14.7 | 44.14.7 |
| mend | renovate-ce | < 15.4.0 | 15.4.0 |
| mend | renovate-ee-server | < 15.4.0 | 15.4.0 |
| mend | renovate-ee-worker | < 15.4.0 | 15.4.0 |
| mend | mend-renovate-ce | < 15.4.0 | 15.4.0 |
| mend | mend-renovate-enterprise-edition | < 10.4.0 | 10.4.0 |
References
- GitHub Security Advisory (GHSA-7chm-46wx-888m) vendor-advisory
- VulnCheck Advisory: Renovate before 44.14.7 Command Injection via gradle-wrapper third-party-advisory