Find, fix and prevent vulnerabilities in your code.
- Vulnerable module: com.google.guava:guava
- Introduced through: com.google.guava:email@example.com
Introduced through: apache/shardingsphere@apache/shardingsphere#b86f3bf7ff4a7f8e47bf597333b3b8e3d4bd32f6 › com.google.guava:firstname.lastname@example.orgRemediation: Upgrade to com.google.guava:email@example.com.
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.
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--
For Android developers, it is 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.
com.google.guava:guava to version 30.0-android, 30.0-jre or higher.
- Vulnerable module: junit:junit
- Introduced through: junit:firstname.lastname@example.org
Introduced through: apache/shardingsphere@apache/shardingsphere#b86f3bf7ff4a7f8e47bf597333b3b8e3d4bd32f6 › junit:email@example.comRemediation: Upgrade to junit:firstname.lastname@example.org.
junit:junit is an unit testing framework for Java
Affected versions of this package are vulnerable to Information Exposure. The JUnit4 test rule
TemporaryFolder contains a local information disclosure vulnerability. On Unix like systems, the system's temporary directory is shared between all users on that system. Because of this, when files and directories are written into this directory they are, by default, readable by other users on that same system.
Note: This vulnerability does not allow other users to overwrite the contents of these directories or files. This only affects Unix like systems.
junit:junit to version 4.13.1 or higher.