2 via 2 paths







Find, fix and prevent vulnerabilities in your code.

  • 1
  • 1
  • 2
  • 0
  • 0

medium severity

Information Disclosure

  • Vulnerable module: com.google.guava:guava
  • Introduced through: com.google.guava:guava@29.0-jre

Detailed paths

  • Introduced through: apache/shardingsphere@apache/shardingsphere#b86f3bf7ff4a7f8e47bf597333b3b8e3d4bd32f6 com.google.guava:guava@29.0-jre
    Remediation: Upgrade to com.google.guava:guava@30.0-jre.


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");
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.


Upgrade com.google.guava:guava to version 30.0-android, 30.0-jre or higher.


low severity

Information Exposure

  • Vulnerable module: junit:junit
  • Introduced through: junit:junit@4.12

Detailed paths

  • Introduced through: apache/shardingsphere@apache/shardingsphere#b86f3bf7ff4a7f8e47bf597333b3b8e3d4bd32f6 junit:junit@4.12
    Remediation: Upgrade to junit:junit@4.13.1.


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.


Upgrade junit:junit to version 4.13.1 or higher.