You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by GitBox <gi...@apache.org> on 2021/10/18 13:23:06 UTC

[GitHub] [solr] sonatype-lift[bot] commented on a change in pull request #349: Dependency tune-up of solr-core

sonatype-lift[bot] commented on a change in pull request #349:
URL: https://github.com/apache/solr/pull/349#discussion_r730916296



##########
File path: solr/contrib/analytics/build.gradle
##########
@@ -21,5 +21,7 @@ description = 'Analytics Package'
 
 dependencies {
   implementation project(':solr:core')
+  implementation 'com.fasterxml.jackson.core:jackson-databind'
+  implementation ('com.google.guava:guava') { transitive = false }

Review comment:
       *Moderate OSS Vulnerability:*
   ### pkg:maven/com.google.guava/guava@25.1-jre
   0 Critical, 0 Severe, 1 Moderate, 0 Unknown vulnerabilities have been found across 1 dependencies
   
   <details>
     <summary><b>Components</b></summary><br/>
     <ul>
         <details>
           <summary><b>pkg:maven/com.google.guava/guava@25.1-jre</b></summary>
           <ul>
     <details>
       <summary><b>MODERATE Vulnerabilities (1)</b></summary><br/>
   <ul>
   
   > #### [CVE-2020-8908] A temp directory creation vulnerability exists in all versions of Guava, allowin...
   > A temp directory creation vulnerability exists in all versions of Guava, allowing an attacker with access to the machine to potentially access data in a temporary directory created by the Guava API com.google.common.io.Files.createTempDir(). By default, on unix-like systems, the created directory is world-readable (readable by an attacker with access to the system). The method in question has been marked @Deprecated in versions 30.0 and later and should not be used. For Android developers, we 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&#39;s java.io.tmpdir system property to point to a location whose permissions are appropriately configured.
   >
   > **CVSS Score:** 3.3
   >
   > **CVSS Vector:** CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
   
   </ul>
       </details>
           </ul>
         </details>
     </ul>
   </details>
   (at-me [in a reply](https://help.sonatype.com/lift/talking-to-lift) with `help` or `ignore`)

##########
File path: solr/contrib/s3-repository/build.gradle
##########
@@ -32,6 +32,8 @@ dependencies {
     }
     implementation (group: 'software.amazon.awssdk', name: 'sdk-core')
     implementation (group: 'software.amazon.awssdk', name: 'protocol-core')
+    implementation ('com.google.guava:guava') { transitive = false }

Review comment:
       *Moderate OSS Vulnerability:*
   ### pkg:maven/com.google.guava/guava@25.1-jre
   0 Critical, 0 Severe, 1 Moderate, 0 Unknown vulnerabilities have been found across 1 dependencies
   
   <details>
     <summary><b>Components</b></summary><br/>
     <ul>
         <details>
           <summary><b>pkg:maven/com.google.guava/guava@25.1-jre</b></summary>
           <ul>
     <details>
       <summary><b>MODERATE Vulnerabilities (1)</b></summary><br/>
   <ul>
   
   > #### [CVE-2020-8908] A temp directory creation vulnerability exists in all versions of Guava, allowin...
   > A temp directory creation vulnerability exists in all versions of Guava, allowing an attacker with access to the machine to potentially access data in a temporary directory created by the Guava API com.google.common.io.Files.createTempDir(). By default, on unix-like systems, the created directory is world-readable (readable by an attacker with access to the system). The method in question has been marked @Deprecated in versions 30.0 and later and should not be used. For Android developers, we 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&#39;s java.io.tmpdir system property to point to a location whose permissions are appropriately configured.
   >
   > **CVSS Score:** 3.3
   >
   > **CVSS Vector:** CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
   
   </ul>
       </details>
           </ul>
         </details>
     </ul>
   </details>
   (at-me [in a reply](https://help.sonatype.com/lift/talking-to-lift) with `help` or `ignore`)

##########
File path: solr/contrib/scripting/build.gradle
##########
@@ -21,5 +21,6 @@ description = 'Scripting Package'
 
 dependencies {
   implementation project(':solr:core')
+  compileOnly ('com.google.guava:guava') { transitive = false }

Review comment:
       *Moderate OSS Vulnerability:*
   ### pkg:maven/com.google.guava/guava@25.1-jre
   0 Critical, 0 Severe, 1 Moderate, 0 Unknown vulnerabilities have been found across 1 dependencies
   
   <details>
     <summary><b>Components</b></summary><br/>
     <ul>
         <details>
           <summary><b>pkg:maven/com.google.guava/guava@25.1-jre</b></summary>
           <ul>
     <details>
       <summary><b>MODERATE Vulnerabilities (1)</b></summary><br/>
   <ul>
   
   > #### [CVE-2020-8908] A temp directory creation vulnerability exists in all versions of Guava, allowin...
   > A temp directory creation vulnerability exists in all versions of Guava, allowing an attacker with access to the machine to potentially access data in a temporary directory created by the Guava API com.google.common.io.Files.createTempDir(). By default, on unix-like systems, the created directory is world-readable (readable by an attacker with access to the system). The method in question has been marked @Deprecated in versions 30.0 and later and should not be used. For Android developers, we 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&#39;s java.io.tmpdir system property to point to a location whose permissions are appropriately configured.
   >
   > **CVSS Score:** 3.3
   >
   > **CVSS Vector:** CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
   
   </ul>
       </details>
           </ul>
         </details>
     </ul>
   </details>
   (at-me [in a reply](https://help.sonatype.com/lift/talking-to-lift) with `help` or `ignore`)

##########
File path: solr/core/build.gradle
##########
@@ -20,144 +20,158 @@ apply plugin: 'java-library'
 
 description = 'Apache Solr Core'
 
+configurations.all {
+  exclude group: 'log4j', module: 'log4j'
+  exclude group: 'commons-logging', module: 'commons-logging'
+  exclude group: 'org.slf4j', module: 'slf4j-log4j12'
+  exclude group: 'org.apache.yetus', module: 'audience-annotations'
+  exclude group: 'org.codehaus.mojo', module: 'animal-sniffer-annotations'
+  exclude group: 'org.apache.calcite.avatica', module: 'avatica-metrics'
+}
+
 dependencies {
+  // Export these dependencies so that they're imported transitively by
+  // other modules.
+
+  // These Lucene modules are the most significant to Solr
   api "org.apache.lucene:lucene-core"
   api "org.apache.lucene:lucene-analysis-common"
-  api "org.apache.lucene:lucene-analysis-kuromoji"
-  api "org.apache.lucene:lucene-analysis-nori"
-  api "org.apache.lucene:lucene-analysis-phonetic"
-  api "org.apache.lucene:lucene-backward-codecs"
-  api "org.apache.lucene:lucene-classification"
-  api "org.apache.lucene:lucene-codecs"
-  api "org.apache.lucene:lucene-expressions"
-  api "org.apache.lucene:lucene-grouping"
-  api "org.apache.lucene:lucene-highlighter"
-  api "org.apache.lucene:lucene-join"
-  api "org.apache.lucene:lucene-misc"
   api "org.apache.lucene:lucene-queries"
-  api "org.apache.lucene:lucene-queryparser"
-  api "org.apache.lucene:lucene-sandbox"
-  api "org.apache.lucene:lucene-spatial-extras"
-  api "org.apache.lucene:lucene-suggest"
-
-  // Export these dependencies so that they're imported transitively by
-  // other modules.
-  api ('com.google.guava:guava', {
-    exclude group: "org.codehaus.mojo", module: "animal-sniffer-annotations"
-    exclude group: "com.google.j2objc", module: "j2objc-annotations"
-    exclude group: "com.google.errorprone", module: "error_prone_annotations"
-    exclude group: "org.checkerframework", module: "checker-qual"
-    exclude group: "com.google.code.findbugs", module: "jsr305"
-  })
 
   api project(':solr:solrj')
   api project(':solr:server')
 
-  api 'org.apache.commons:commons-lang3'
-  api 'com.carrotsearch:hppc'
-  api 'com.fasterxml.jackson.core:jackson-databind'
-  api 'commons-cli:commons-cli'
-  api 'commons-codec:commons-codec'
-  api 'commons-collections:commons-collections'
-  api 'org.apache.commons:commons-collections4'
-
+  // Non-API below; although there are exceptions
+
+  implementation "org.apache.lucene:lucene-analysis-kuromoji"
+  implementation "org.apache.lucene:lucene-analysis-nori"
+  implementation "org.apache.lucene:lucene-analysis-phonetic"
+  implementation "org.apache.lucene:lucene-backward-codecs"
+  implementation "org.apache.lucene:lucene-codecs"
+  implementation "org.apache.lucene:lucene-classification"
+  implementation "org.apache.lucene:lucene-expressions"
+  implementation "org.apache.lucene:lucene-grouping"
+  implementation "org.apache.lucene:lucene-highlighter"
+  implementation "org.apache.lucene:lucene-join"
+  implementation "org.apache.lucene:lucene-misc"
+  implementation "org.apache.lucene:lucene-queryparser"
+  implementation "org.apache.lucene:lucene-sandbox"
+  implementation "org.apache.lucene:lucene-spatial-extras"
+  implementation "org.apache.lucene:lucene-suggest"
+
+  // Collections & lang utilities
+  implementation ('com.google.guava:guava') { transitive = false }
+  implementation 'org.apache.commons:commons-lang3'
+  implementation 'com.carrotsearch:hppc'
+  implementation 'org.apache.commons:commons-collections4'
+  runtimeOnly 'commons-collections:commons-collections' // for Hadoop and...?
+
+  implementation('com.github.ben-manes.caffeine:caffeine') { transitive = false }
+
+  implementation 'commons-codec:commons-codec'
+
+  implementation 'commons-cli:commons-cli'
+
+  implementation 'com.fasterxml.jackson.core:jackson-databind'
   implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-smile'
 
-  implementation('com.github.ben-manes.caffeine:caffeine', {
-    exclude group: "org.checkerframework", module: "checker-qual"
-    exclude group: "com.google.errorprone", module: "error_prone_annotations"
-  })
+  // ZooKeeper & Curator
+  implementation 'org.apache.zookeeper:zookeeper'

Review comment:
       *Severe OSS Vulnerability:*
   ### pkg:maven/org.apache.zookeeper/zookeeper@3.7.0
   0 Critical, 2 Severe, 0 Moderate, 0 Unknown vulnerabilities have been found across 1 dependencies
   
   <details>
     <summary><b>Components</b></summary><br/>
     <ul>
         <details>
           <summary><b>pkg:maven/org.apache.zookeeper/zookeeper@3.7.0</b></summary>
           <ul>
     <details>
       <summary><b>SEVERE Vulnerabilities (2)</b></summary><br/>
   <ul>
   <details>
               <summary>CVE-2021-28164</summary>
   
   > #### [CVE-2021-28164] In Eclipse Jetty 9.4.37.v20210219 to 9.4.38.v20210224, the default compliance mo...
   > In Eclipse Jetty 9.4.37.v20210219 to 9.4.38.v20210224, the default compliance mode allows requests with URIs that contain %2e or %2e%2e segments to access protected resources within the WEB-INF directory. For example a request to /context/%2e/WEB-INF/web.xml can retrieve the web.xml file. This can reveal sensitive information regarding the implementation of a web application.
   >
   > **CVSS Score:** 5.3
   >
   > **CVSS Vector:** CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
   
   </details>
   <details>
               <summary>CVE-2021-34429</summary>
   
   > #### [CVE-2021-34429] For Eclipse Jetty versions 9.4.37-9.4.42, 10.0.1-10.0.5 & 11.0.1-11.0.5, URIs ca...
   > For Eclipse Jetty versions 9.4.37-9.4.42, 10.0.1-10.0.5 &amp; 11.0.1-11.0.5, URIs can be crafted using some encoded characters to access the content of the WEB-INF directory and/or bypass some security constraints. This is a variation of the vulnerability reported in CVE-2021-28164/GHSA-v7ff-8wcx-gmc5.
   >
   > **CVSS Score:** 5.3
   >
   > **CVSS Vector:** CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
   
   </details>
   </ul>
       </details>
           </ul>
         </details>
     </ul>
   </details>
   (at-me [in a reply](https://help.sonatype.com/lift/talking-to-lift) with `help` or `ignore`)

##########
File path: solr/test-framework/build.gradle
##########
@@ -26,10 +26,11 @@ dependencies {
   api "org.apache.lucene:lucene-test-framework"
   api "org.apache.lucene:lucene-analysis-common"
 
-  api 'org.apache.logging.log4j:log4j-core'
-  api 'io.opentracing:opentracing-mock'
-
+  implementation 'org.apache.logging.log4j:log4j-core'
+  implementation 'io.opentracing:opentracing-noop'
+  implementation 'io.opentracing:opentracing-util'
+  implementation ('com.google.guava:guava') { transitive = false }

Review comment:
       *Moderate OSS Vulnerability:*
   ### pkg:maven/com.google.guava/guava@25.1-jre
   0 Critical, 0 Severe, 1 Moderate, 0 Unknown vulnerabilities have been found across 1 dependencies
   
   <details>
     <summary><b>Components</b></summary><br/>
     <ul>
         <details>
           <summary><b>pkg:maven/com.google.guava/guava@25.1-jre</b></summary>
           <ul>
     <details>
       <summary><b>MODERATE Vulnerabilities (1)</b></summary><br/>
   <ul>
   
   > #### [CVE-2020-8908] A temp directory creation vulnerability exists in all versions of Guava, allowin...
   > A temp directory creation vulnerability exists in all versions of Guava, allowing an attacker with access to the machine to potentially access data in a temporary directory created by the Guava API com.google.common.io.Files.createTempDir(). By default, on unix-like systems, the created directory is world-readable (readable by an attacker with access to the system). The method in question has been marked @Deprecated in versions 30.0 and later and should not be used. For Android developers, we 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&#39;s java.io.tmpdir system property to point to a location whose permissions are appropriately configured.
   >
   > **CVSS Score:** 3.3
   >
   > **CVSS Vector:** CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
   
   </ul>
       </details>
           </ul>
         </details>
     </ul>
   </details>
   (at-me [in a reply](https://help.sonatype.com/lift/talking-to-lift) with `help` or `ignore`)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org