Skip to content
This repository has been archived by the owner on Dec 18, 2023. It is now read-only.

Information Disclosure SNYK-JAVA-COMGOOGLEGUAVA-1015415 #25

Closed
github-actions bot opened this issue Oct 26, 2020 · 0 comments
Closed

Information Disclosure SNYK-JAVA-COMGOOGLEGUAVA-1015415 #25

github-actions bot opened this issue Oct 26, 2020 · 0 comments
Labels

Comments

@github-actions
Copy link

Overview

com.google.guava:guava is a set of core libraries that includes new collection types (such as multimap and multiset,immutable collections, a graph library, functional types, an in-memory cache and more.

Affected versions of this package are vulnerable to Information Disclosure. The file permissions on the file created by com.google.common.io.Files.createTempDir allows an attacker running a malicious program co-resident on the same machine can steal secrets stored in this directory. This is because by default on unix-like operating systems the /temp directory is shared between all users, so if the correct file permissions aren't set by the directory/file creator, the file becomes readable by all other users on that system.

PoC

File guavaTempDir = com.google.common.io.Files.createTempDir();
System.out.println("Guava Temp Dir: " + guavaTempDir.getName());
runLS(guavaTempDir.getParentFile(), guavaTempDir); // Prints the file permissions -> drwxr-xr-x
File child = new File(guavaTempDir, "guava-child.txt");
child.createNewFile();
runLS(guavaTempDir, child); // Prints the file permissions -> -rw-r--r--

Remediation

Upgrade com.google.guava:guava to version 30.0 or higher.

References

@github-actions github-actions bot added the Snyk label Oct 26, 2020
@phozzy phozzy closed this as completed Nov 2, 2020
@phozzy phozzy reopened this Nov 2, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants