ubuntu-cve-2020-8908
Vulnerability from osv_ubuntu
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": [
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libguava-java",
"binary_version": "15.0-2ubuntu1"
}
]
},
"package": {
"ecosystem": "Ubuntu:14.04:LTS",
"name": "guava-libraries",
"purl": "pkg:deb/ubuntu/guava-libraries@15.0-2ubuntu1?arch=source\u0026distro=trusty"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"14.0.1-1",
"15.0-2ubuntu1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libguava-java",
"binary_version": "19.0-1"
}
]
},
"package": {
"ecosystem": "Ubuntu:16.04:LTS",
"name": "guava-libraries",
"purl": "pkg:deb/ubuntu/guava-libraries@19.0-1?arch=source\u0026distro=xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"18.0-4ubuntu1",
"19.0-1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libguava-java",
"binary_version": "19.0-1"
}
]
},
"package": {
"ecosystem": "Ubuntu:18.04:LTS",
"name": "guava-libraries",
"purl": "pkg:deb/ubuntu/guava-libraries@19.0-1?arch=source\u0026distro=bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"19.0-1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libguava-java",
"binary_version": "19.0-1"
}
]
},
"package": {
"ecosystem": "Ubuntu:20.04:LTS",
"name": "guava-libraries",
"purl": "pkg:deb/ubuntu/guava-libraries@19.0-1?arch=source\u0026distro=focal"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"19.0-1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libguava-java",
"binary_version": "29.0-6"
},
{
"binary_name": "libguava-testlib-java",
"binary_version": "29.0-6"
}
]
},
"package": {
"ecosystem": "Ubuntu:22.04:LTS",
"name": "guava-libraries",
"purl": "pkg:deb/ubuntu/guava-libraries@29.0-6?arch=source\u0026distro=jammy"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"29.0-6"
]
}
],
"aliases": [],
"details": "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\u0027s java.io.tmpdir system property to point to a location whose permissions are appropriately configured.",
"id": "UBUNTU-CVE-2020-8908",
"modified": "2026-01-20T04:57:18Z",
"published": "2020-12-10T23:15:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2020-8908"
},
{
"type": "REPORT",
"url": "https://github.com/google/guava/issues/4011"
},
{
"type": "REPORT",
"url": "https://github.com/google/guava/commit/fec0dbc4634006a6162cfd4d0d09c962073ddf40"
},
{
"type": "REPORT",
"url": "https://github.com/google/guava/issues/4011#issuecomment-1573923586"
},
{
"type": "REPORT",
"url": "https://github.com/google/guava/releases/tag/v32.0.0"
},
{
"type": "REPORT",
"url": "https://github.com/google/guava/issues/2575"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2020-8908"
}
],
"related": [],
"schema_version": "1.7.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2020-8908"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.