CVE-2021-29429: Information disclosure through temporary directory permissions
In Gradle before version 7.0, files created with open permissions in the system temporary directory can allow an attacker to access information downloaded by Gradle. Some builds could be vulnerable to a local information disclosure. Remote files accessed through TextResourceFactory are downloaded into the system temporary directory first. Sensitive information contained in these files can be exposed to other local users on the same system. If you do not use the TextResourceFactory API, you are not vulnerable. As of Gradle 7.0, uses of the system temporary directory have been moved to the Gradle User Home directory. By default, this directory is restricted to the user running the build. As a workaround, set a more restrictive umask that removes read access to other users. When files are created in the system temporary directory, they will not be accessible to other users. If you are unable to change your system's umask, you can move the Java temporary directory by setting the System Property java.io.tmpdir. The new path needs to limit permissions to the build user only.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Gradleto a version that resolves this vulnerability.Fixed in 7.0 - Configuration
Set a more restrictive umask so files created in the system temporary directory are not readable by other users.
umask = Remove read access to other users - Configuration
If the system umask cannot be changed, move the Java temporary directory by setting the System Property java.io.tmpdir to a directory accessible only to the build user.
Java java.io.tmpdir = A directory restricted to the build user only
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2021-29429?
CVE-2021-29429 is a vulnerability in Gradle before version 7.0 that allows an attacker to access information downloaded by Gradle.
What is the severity of CVE-2021-29429?
The severity of CVE-2021-29429 is medium with a CVSS score of 5.5.
Which software versions are affected by CVE-2021-29429?
Gradle versions before 7.0 and Quarkus versions up to 2.2.3 are affected by CVE-2021-29429.
How can an attacker exploit CVE-2021-29429?
An attacker can exploit CVE-2021-29429 by accessing files created with open permissions in the system temporary directory.
Are there any references for CVE-2021-29429?
Yes, you can find more information about CVE-2021-29429 in the following references: [GitHub Advisory](https://github.com/gradle/gradle/security/advisories/GHSA-fp8h-qmr5-j4c8), [Red Hat Security Advisory](https://access.redhat.com/errata/RHSA-2021:4767), [Red Hat CVE Page](https://access.redhat.com/security/cve/cve-2021-29429).