The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2020-8908

CVE-2020-8908: Google Guava Information Disclosure Bug

CVE-2020-8908 is an information disclosure vulnerability in Google Guava's temporary directory creation API. World-readable permissions expose sensitive data to local attackers. This article covers technical details, affected versions, impact, and secure migration strategies.

Published: March 11, 2026

CVE-2020-8908 Overview

A temporary directory creation vulnerability exists in Google Guava, a widely-used Java library. The vulnerability affects the com.google.common.io.Files.createTempDir() API method, which creates temporary directories with insecure default permissions on Unix-like systems. By default, these directories are created as world-readable (mode 0755), allowing any local user with access to the system to potentially read data stored in the temporary directory.

Critical Impact

Local attackers with system access can read sensitive data from temporary directories created by applications using the vulnerable Guava API, potentially leading to information disclosure of sensitive application data, credentials, or session information.

Affected Products

  • Google Guava (all versions prior to deprecation in 30.0)
  • Oracle WebLogic Server 14.1.1.0.0
  • Oracle Data Integrator 12.2.1.3.0 and 12.2.1.4.0
  • Oracle PeopleSoft Enterprise PeopleTools 8.57, 8.58, 8.59
  • Oracle Primavera Unifier 18.8, 19.12, 20.12, 21.12
  • Oracle Communications Cloud Native Core Network Repository Function 1.14.0
  • Quarkus (multiple versions)
  • NetApp Active IQ Unified Manager (Linux, VMware vSphere, Windows)

Discovery Timeline

  • December 10, 2020 - CVE-2020-8908 published to NVD
  • February 23, 2026 - Last updated in NVD database

Technical Details for CVE-2020-8908

Vulnerability Analysis

This vulnerability stems from insecure default file permissions when creating temporary directories through Guava's Files.createTempDir() method. On Unix-like operating systems, the method creates directories with world-readable permissions, deviating from secure practices that would restrict access to the creating user only.

The issue is particularly concerning in multi-user environments or shared hosting scenarios where multiple users or processes have access to the system's temporary directory (typically /tmp or the path specified by java.io.tmpdir). Any application storing sensitive data in these temporary directories could inadvertently expose that information to other users on the system.

The vulnerability requires local access to exploit, meaning an attacker must already have some level of access to the target system. However, in shared environments or systems with multiple users, this represents a realistic attack scenario.

Root Cause

The root cause is the use of File.createTempFile() internally, which inherits the default umask settings of the system rather than explicitly setting restrictive permissions (mode 0700). The Java API does not provide a straightforward mechanism to atomically create a directory with specific permissions, leading to this insecure default behavior. The method relies on system defaults which typically result in world-readable directories on Unix-like systems.

Attack Vector

The attack requires local access to the target machine. An attacker with a valid user account on the system can monitor the temporary directory for newly created Guava temporary directories. Once identified, the attacker can read the contents of files written to these directories by the vulnerable application. This could include:

  • Application configuration files
  • Session data or tokens
  • Cached credentials
  • Temporary processing data containing sensitive information

The following patch was applied to deprecate the vulnerable method and warn developers about the security implications:

java
    * be exploited to create security vulnerabilities, especially when executable files are to be
    * written into the directory.
    *
+   * <p>Depending on the environmment that this code is run in, the system temporary directory (and
+   * thus the directory this method creates) may be more visible that a program would like - files
+   * written to this directory may be read or overwritten by hostile programs running on the same
+   * machine.
+   *
    * <p>This method assumes that the temporary volume is writable, has free inodes and free blocks,
    * and that it will not be called thousands of times per second.
    *

Source: GitHub Commit

Detection Methods for CVE-2020-8908

Indicators of Compromise

  • Presence of world-readable temporary directories in /tmp or the system's configured temporary directory with Guava-style naming patterns
  • Unexpected read access to temporary directories by non-owner users or processes
  • Log entries indicating access to application temporary files by unauthorized user accounts
  • Discovery of Guava library versions prior to 30.0 in application dependencies

Detection Strategies

  • Audit application dependencies using software composition analysis (SCA) tools to identify vulnerable Guava versions
  • Monitor file system permissions on temporary directories for world-readable configurations
  • Implement file integrity monitoring on temporary directories to detect unauthorized access
  • Review application source code for usage of com.google.common.io.Files.createTempDir() method calls

Monitoring Recommendations

  • Enable audit logging for file access in temporary directories on multi-user systems
  • Configure SentinelOne agents to monitor for suspicious file access patterns in temporary storage locations
  • Implement dependency scanning in CI/CD pipelines to detect vulnerable library versions before deployment
  • Use runtime application self-protection (RASP) solutions to monitor temporary file operations

How to Mitigate CVE-2020-8908

Immediate Actions Required

  • Identify all applications using Google Guava and audit usage of Files.createTempDir() method
  • Upgrade to Guava version 30.0 or later where the method is marked as deprecated with security warnings
  • Migrate to secure alternatives such as java.nio.file.Files.createTempDirectory() which sets permissions to 0700
  • For Android applications, use Android-provided alternatives such as context.getCacheDir()

Patch Information

Google has marked the Files.createTempDir() method as @Deprecated in Guava version 30.0 and later. The deprecation notice explicitly warns developers about the security implications and recommends migration to safer alternatives. For detailed patch information, refer to the GitHub Commit and the GitHub Issue Discussion.

Oracle has addressed this vulnerability in multiple Critical Patch Updates (CPUs) for affected products. Refer to Oracle CPU April 2021, Oracle CPU July 2021, Oracle CPU October 2021, and Oracle CPU April 2022 for product-specific patches.

Workarounds

  • Configure the java.io.tmpdir system property to point to a directory with appropriately restrictive permissions (accessible only by the application user)
  • Implement explicit permission setting immediately after directory creation using java.nio.file.Files.setPosixFilePermissions()
  • Use java.nio.file.Files.createTempDirectory() which creates directories with mode 0700 by default
  • For Android applications, migrate to context.getCacheDir() or context.getFilesDir() which provide application-private storage
bash
# Configuration example - Set restrictive tmpdir for Java applications
# Create a private temporary directory
mkdir -p /opt/app/tmp
chmod 700 /opt/app/tmp
chown appuser:appgroup /opt/app/tmp

# Launch Java application with custom tmpdir
java -Djava.io.tmpdir=/opt/app/tmp -jar application.jar

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeInformation Disclosure

  • Vendor/TechGoogle Guava

  • SeverityLOW

  • CVSS Score3.3

  • EPSS Probability0.07%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityNone
  • CWE References
  • CWE-378

  • CWE-732
  • Technical References
  • Apache Common Issues Thread

  • Apache Drill Dev Thread

  • Apache Drill Dev Thread

  • Apache Commits Thread

  • Apache Yarn Issues Thread

  • Apache Drill Dev Thread

  • Apache Pulsar Commits Thread

  • Apache Geode Issues Thread

  • Apache CXF Commits Thread

  • Apache Yarn Dev Thread

  • Apache Common Issues Thread

  • Apache Geode Issues Thread

  • Apache Yarn Issues Thread

  • Apache Drill Dev Thread

  • Apache Drill Dev Thread

  • Apache Hive Issues Thread

  • Apache Yarn Issues Thread

  • Apache Maven Issues Thread

  • Apache Yarn Issues Thread

  • Apache Hive Commits Thread

  • Apache CXF Commits Thread

  • Apache Torque Dev Thread

  • Apache Torque Dev Thread

  • Apache Geode Issues Thread

  • Apache Hive Dev Thread

  • Apache Arrow GitHub Thread

  • Apache Hive Issues Thread

  • Apache Torque Dev Thread

  • Apache Pig Dev Thread

  • Apache Yarn Issues Thread

  • Apache Geode Issues Thread

  • Apache Yarn Dev Thread

  • Apache Geode Issues Thread

  • Apache MyFaces Dev Thread

  • NetApp Security Advisory

  • Oracle CPU January 2022 Alert
  • Vendor Resources
  • GitHub Commit Log

  • GitHub Issue Discussion

  • Snyk JAVA Vulnerability

  • Oracle CPU July 2021 Alert

  • Oracle CPU April 2021 Alert

  • Oracle CPU April 2022 Alert

  • Oracle CPU October 2021 Alert
  • Related CVEs
  • CVE-2023-2976: Google Guava Information Disclosure Flaw
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English