All advisories

Potential cache poisoning and remote code execution when running build cache node with default configuration

Affected product(s)

  • Gradle Enterprise build cache node < 10.0
  • Gradle Enterprise < 2021.3

Severity

Critical

Related CVE ID(s)

Description

Running a Build cache node with default configuration allows anonymous access to the configuration user interface and anonymous write access to the build cache.

If access control to the build cache is not changed from the default open configuration, a malicious actor with network access can populate the cache with manipulated entries that may execute malicious code as part of a build process. This applies to the build cache provided with Gradle Enterprise and the separate build cache node service if used.

If access control to the user interface is not changed from the default open configuration, a malicious actor can undo build cache access control in order to populate the cache with manipulated entries that may execute malicious code as part of a build process. This does not apply to the build cache provided with Gradle Enterprise, but does apply to the separate build cache node service if used.

Mitigation

As of Gradle Enterprise build cache node 10.0 and Gradle Enterprise 2021.3, access to the build cache is disabled by default. As of Gradle Enterprise build cache node 10.0, access to the configuration user interface is restricted by default.

These changes do not apply to existing installations. For existing installations, users must mitigate unintentional open access by using any of the available configuration mechanism to retrict access to the configuration user interface and/or build cache.

Credit

Jonathan Leitschuh