sonatype-lift[bot] commented on a change in pull request #518:
URL: https://github.com/apache/solr/pull/518#discussion_r783013500
##########
File path:
solr/contrib/jwt-auth/src/java/org/apache/solr/security/JWTAuthPlugin.java
##########
@@ -104,15 +102,31 @@
@Deprecated(since = "9.0") // Remove in 10.0
private static final String PARAM_ALG_WHITELIST = "algWhitelist";
- private static final Set<String> PROPS = ImmutableSet.of(PARAM_BLOCK_UNKNOWN,
- PARAM_PRINCIPAL_CLAIM, PARAM_REQUIRE_EXPIRATIONTIME, PARAM_ALG_ALLOWLIST,
- PARAM_JWK_CACHE_DURATION, PARAM_CLAIMS_MATCH, PARAM_SCOPE, PARAM_REALM,
PARAM_ROLES_CLAIM,
- PARAM_ADMINUI_SCOPE, PARAM_REDIRECT_URIS, PARAM_REQUIRE_ISSUER,
PARAM_ISSUERS,
- PARAM_TRUSTED_CERTS_FILE, PARAM_TRUSTED_CERTS,
- // These keys are supported for now to enable PRIMARY issuer config
through top-level keys
- JWTIssuerConfig.PARAM_JWKS_URL, JWTIssuerConfig.PARAM_JWK,
JWTIssuerConfig.PARAM_ISSUER,
- JWTIssuerConfig.PARAM_CLIENT_ID, JWTIssuerConfig.PARAM_WELL_KNOWN_URL,
JWTIssuerConfig.PARAM_AUDIENCE,
- JWTIssuerConfig.PARAM_AUTHORIZATION_ENDPOINT);
+ private static final Set<String> PROPS =
Review comment:
*MutableConstantField:* Constant field declarations should use the
immutable type (such as ImmutableList) instead of the general collection
interface type (such as List)
[(details)](https://errorprone.info/bugpattern/MutableConstantField)
(at-me [in a reply](https://help.sonatype.com/lift/talking-to-lift) with
`help` or `ignore`)
##########
File path:
solr/contrib/jwt-auth/src/java/org/apache/solr/security/JWTIssuerConfig.java
##########
@@ -46,10 +34,19 @@
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
+import org.apache.commons.io.IOUtils;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.util.Utils;
+import org.jose4j.http.Get;
+import org.jose4j.http.SimpleResponse;
+import org.jose4j.jwk.HttpsJwks;
+import org.jose4j.jwk.JsonWebKey;
+import org.jose4j.jwk.JsonWebKeySet;
+import org.jose4j.lang.JoseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-/**
- * Holds information about an IdP (issuer), such as issuer ID, JWK url(s),
keys etc
- */
+/** Holds information about an IdP (issuer), such as issuer ID, JWK url(s),
keys etc */
public class JWTIssuerConfig {
private static final Logger log =
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
Review comment:
*UnusedVariable:* The field 'log' is never read.
[(details)](https://errorprone.info/bugpattern/UnusedVariable)
(at-me [in a reply](https://help.sonatype.com/lift/talking-to-lift) with
`help` or `ignore`)
##########
File path: solr/contrib/jwt-auth/build.gradle
##########
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+apply plugin: 'java-library'
+
+description = 'Language Identifier contrib for extracting language from a
document being indexed'
+
+configurations.all {
+ exclude group: 'log4j', module: 'log4j'
+ exclude group: 'org.slf4j', module: 'slf4j-log4j12'
+ exclude group: 'org.apache.yetus', module: 'audience-annotations'
+ // be conservative on what's added here. Affects *all* configs, including
internal ones.
+}
+
+dependencies {
+ implementation project(':solr:core')
+
+ implementation 'org.bitbucket.b_c:jose4j'
+ implementation 'org.apache.zookeeper:zookeeper'
+
+ implementation 'commons-io:commons-io'
+ implementation 'org.apache.commons:commons-lang3'
+ implementation 'org.eclipse.jetty:jetty-client'
+ implementation ('com.google.guava:guava') { transitive = false }
Review comment:
*Moderate OSS Vulnerability:*
### pkg:maven/com.google.guava/[email protected]
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/[email protected]</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'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/jwt-auth/build.gradle
##########
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+apply plugin: 'java-library'
+
+description = 'Language Identifier contrib for extracting language from a
document being indexed'
+
+configurations.all {
+ exclude group: 'log4j', module: 'log4j'
+ exclude group: 'org.slf4j', module: 'slf4j-log4j12'
+ exclude group: 'org.apache.yetus', module: 'audience-annotations'
+ // be conservative on what's added here. Affects *all* configs, including
internal ones.
+}
+
+dependencies {
+ implementation project(':solr:core')
+
+ implementation 'org.bitbucket.b_c:jose4j'
+ implementation 'org.apache.zookeeper:zookeeper'
Review comment:
*Severe OSS Vulnerability:*
### pkg:maven/org.apache.zookeeper/[email protected]
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/[email protected]</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 &
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`)
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]