What’s Vulnerable › Vulnerabilities
CVE-2020-8908: Temp directory permission issue in Guava
- Severity: low (CVSS 3.3 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.9% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2020-12-10 · updated 2026-06-17
- Weakness: CWE-378
Description
A temp directory creation vulnerability exists in all versions of Guava, allowing an attacker with access to the machine to potentially access data in a temporary directory created by the Guava API com.google.common.io.Files.createTempDir(). By default, on unix-like systems, the created directory is world-readable (readable by an attacker with access to the system). The method in question has been marked @Deprecated in versions 30.0 and later and should not be used. For Android developers, we recommend choosing a temporary directory API provided by Android, such as context.getCacheDir(). For other Java developers, we recommend migrating to the Java 7 API java.nio.file.Files.createTempDirectory() which explicitly configures permissions of 700, or configuring the Java runtime's java.io.tmpdir system property to point to a location whose permissions are appropriately configured.
Affected products
- Google Guava: before 32.0.0 — fixed in 32.0.0
- Active IQ Unified Manager for VMware vSphere, Linux, and Microsoft Windows: all versions
- Oracle Corporation Oracle Commerce Guided Search / Oracle Commerce Experience Manager: 11.3.2
- Oracle Communications Cloud Native Core Network Repository Function: 1.14.0
- Oracle Communications Cloud Native Core Network Slice Selection Function: 1.2.1
- Oracle Corporation Communications Pricing Design Center: 12.0.0.4.0, 12.0.0.5.0
- Oracle Corporation Oracle Data Integrator: 12.2.1.3.0, 12.2.1.4.0
- Oracle Nosql Database: before 20.3 — fixed in 20.3
- Oracle Corporation PeopleSoft Enterprise PT PeopleTools: 8.57, 8.58, 8.59
- Oracle Corporation Primavera Unifier: from 17.7 through 17.12; 18.8, 19.12, 20.12, 21.12
- Oracle Corporation Retail Customer Management and Segmentation Foundation: from 16.0 through 19.0
- Oracle WebLogic Server: 14.1.1.0.0
- quarkusio quarkus: before 1.11.4 — fixed in 1.11.4
- Maven Com.Google.Guava:Guava: before 32.0.0-android; 10.0, 10.0-rc1, 10.0-rc2, 10.0-rc3, 10.0.1, 11.0 (+102) — fixed in 32.0.0-android
How to fix
Upgrade to a fixed version: Google Guava 32.0.0; Oracle Nosql Database 20.3; quarkusio quarkus 1.11.4; Maven Com.Google.Guava:Guava 32.0.0-android. Check the vendor advisory for mitigations.
References
- https://github.com/google/guava/commit/fec0dbc4634006a6162cfd4d0d09c962073ddf40
- https://github.com/google/guava/issues/4011
- https://lists.apache.org/thread.html/r007add131977f4f576c232b25e024249a3d16f66aad14a4b52819d21%40%3Ccommon-issues.hadoop.apache.org%3E
- https://lists.apache.org/thread.html/r07ed3e4417ad043a27bee7bb33322e9bfc7d7e6d1719b8e3dfd95c14%40%3Cdev.drill.apache.org%3E
- https://lists.apache.org/thread.html/r161b87f8037bbaff400194a63cd2016c9a69f5949f06dcc79beeab54%40%3Cdev.drill.apache.org%3E
- https://lists.apache.org/thread.html/r215b3d50f56faeb2f9383505f3e62faa9f549bb23e8a9848b78a968e%40%3Ccommits.ws.apache.org%3E
- https://lists.apache.org/thread.html/r294be9d31c0312d2c0837087204b5d4bf49d0552890e6eec716fa6a6%40%3Cyarn-issues.hadoop.apache.org%3E
- https://lists.apache.org/thread.html/r2fe45d96eea8434b91592ca08109118f6308d60f6d0e21d52438cfb4%40%3Cdev.drill.apache.org%3E
- https://lists.apache.org/thread.html/r3c3b33ee5bef0c67391d27a97cbfd89d44f328cf072b601b58d4e748%40%3Ccommits.pulsar.apache.org%3E
- https://lists.apache.org/thread.html/r3dd8881de891598d622227e9840dd7c2ef1d08abbb49e9690c7ae1bc%40%3Cissues.geode.apache.org%3E
- https://lists.apache.org/thread.html/r4776f62dfae4a0006658542f43034a7fc199350e35a66d4e18164ee6%40%3Ccommits.cxf.apache.org%3E
- https://lists.apache.org/thread.html/r49549a8322f62cd3acfa4490d25bfba0be04f3f9ff4d14fe36199d27%40%3Cyarn-dev.hadoop.apache.org%3E
Get alerted when CVE-2020-8908 or the next vulnerability affects your stack