apache/shardingsphere:pom.xml

Vulnerabilities

2 via 2 paths

Dependencies

19

Source

GitHub

Commit

c9b2a115

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
  • 1
Status
  • 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#c9b2a115a1a2442281af81a90857fbb3ed59a598 com.google.guava:guava@29.0-jre
    Remediation: Upgrade to com.google.guava:guava@30.0-android.

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-android, 30.0-jre or higher.

References

low severity

Information Exposure

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

Detailed paths

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

Overview

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.

Remediation

Upgrade junit:junit to version 4.13.1 or higher.

References