FrankChen021 commented on code in PR #20236:
URL: https://github.com/apache/druid/pull/20236#discussion_r3957865292
##########
owasp-dependency-check-suppressions.xml:
##########
@@ -768,4 +869,156 @@
<packageUrl regex="true">^pkg:maven/io\.grpc/grpc-.*@.*$</packageUrl>
<cve>CVE-2026-33186</cve> <!-- Only applicable to gRPC Go
(google.golang.org/grpc < 1.79.3), not gRPC Java -
https://nvd.nist.gov/vuln/detail/CVE-2026-33186 -->
</suppress>
+
+ <suppress>
+ <!-- False positive: the scanner matches the Java client version 1.2.4
against
+ cpe:2.3:a:memcached:memcached:1.2.4 (the C memcached server daemon).
+ com.amazonaws:elasticache-java-cluster-client is a Java Memcached
client
+ library; all CVEs below are vulnerabilities in the Memcached server C
code.
+ Druid acts as a Memcached client and is not affected by server-side
CVEs. -->
+ <notes><![CDATA[
+ file name: elasticache-java-cluster-client-1.2.4.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/com\.amazonaws/elasticache-java-cluster-client@.*$</packageUrl>
+ <cve>CVE-2019-11596</cve> <!-- NULL ptr deref in memcached server daemon
(memcached.c lru mode command) -->
+ <cve>CVE-2026-47784</cve> <!-- SASL password timing side-channel in
memcached server daemon -->
+ <cve>CVE-2026-47783</cve> <!-- SASL username timing side-channel in
memcached server daemon -->
+ <cve>CVE-2016-8705</cve> <!-- Integer overflow in memcached server daemon
(process_bin_update) -->
+ <cve>CVE-2016-8706</cve> <!-- Integer overflow in memcached server daemon
(process_bin_sasl_auth) -->
+ <cve>CVE-2016-8704</cve> <!-- Integer overflow in memcached server daemon
(process_bin_append_prepend) -->
+ <cve>CVE-2023-46852</cve> <!-- Buffer overflow in memcached server daemon
proxy mode multiget -->
+ <cve>CVE-2018-1000127</cve> <!-- Integer overflow in memcached server
daemon (items.c item_free) -->
+ <cve>CVE-2023-46853</cve> <!-- Off-by-one in memcached server daemon proxy
mode request parsing -->
+ <cve>CVE-2017-9951</cve> <!-- Heap buffer over-read in memcached server
daemon (try_read_command) -->
+ </suppress>
+
+ <suppress>
+ <!-- GHSA-w5hq-g745-h8pq: Missing bounds check in uuid v3/v5/v6 when the
optional buf
+ argument is provided. Druid's web console uses only uuidv4() with no
buf argument
+ (web-console/src/druid-models/workbench-query/workbench-query.ts), so
the
+ vulnerable code path is never exercised. -->
+ <notes><![CDATA[
+ file name: package-lock.json (pkg:npm/[email protected])
+ ]]></notes>
+ <packageUrl regex="true">^pkg:npm/uuid@.*$</packageUrl>
+ <vulnerabilityName>GHSA-w5hq-g745-h8pq</vulnerabilityName>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-53914: Unsafe deserialization in Kotlin's build cache
metadata (Kotlin compiler/Gradle plugin).
+ This is a build-toolchain vulnerability, not a runtime stdlib issue.
Druid has no Kotlin source files;
+ kotlin-stdlib is a transitive runtime dependency (via Iceberg) and
Druid never invokes Kotlin's build cache. -->
+ <notes><![CDATA[
+ file name: kotlin-stdlib-2.4.10.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/org\.jetbrains\.kotlin/kotlin-stdlib@.*$</packageUrl>
+ <cve>CVE-2026-53914</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-33117: Vulnerability in Azure SDK for Java's Key Vault Keys
local cryptographic verification path.
+ Druid's azure-extensions use azure-core/azure-identity for blob
storage auth only; Druid does not use
+ azure-keyvault-keys or the local cryptography client path that
contains the vulnerability. -->
+ <notes><![CDATA[
+ file name: azure-core-1.58.1.jar azure-core-http-netty-1.16.5.jar
azure-identity-1.18.4.jar azure-json-1.5.1.jar
+ ]]></notes>
+ <packageUrl regex="true">^pkg:maven/com\.azure/azure-.*@.*$</packageUrl>
Review Comment:
[P2] Do not match every Azure artifact
`^pkg:maven/com\.azure/azure-.*@.*$` also matches
`com.azure:azure-security-keyvault-keys`, the package named by CVE-2026-33117,
not just the azure-core/identity/storage jars listed in the notes. The notes do
not constrain the rule. If that critical Key Vault Keys artifact is added or
appears transitively, Dependency-Check will suppress the real CVE as if it were
a false positive. Match the explicit non-vulnerable GAVs/versions or the
containing shaded jar instead.
##########
owasp-dependency-check-suppressions.xml:
##########
@@ -768,4 +869,156 @@
<packageUrl regex="true">^pkg:maven/io\.grpc/grpc-.*@.*$</packageUrl>
<cve>CVE-2026-33186</cve> <!-- Only applicable to gRPC Go
(google.golang.org/grpc < 1.79.3), not gRPC Java -
https://nvd.nist.gov/vuln/detail/CVE-2026-33186 -->
</suppress>
+
+ <suppress>
+ <!-- False positive: the scanner matches the Java client version 1.2.4
against
+ cpe:2.3:a:memcached:memcached:1.2.4 (the C memcached server daemon).
+ com.amazonaws:elasticache-java-cluster-client is a Java Memcached
client
+ library; all CVEs below are vulnerabilities in the Memcached server C
code.
+ Druid acts as a Memcached client and is not affected by server-side
CVEs. -->
+ <notes><![CDATA[
+ file name: elasticache-java-cluster-client-1.2.4.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/com\.amazonaws/elasticache-java-cluster-client@.*$</packageUrl>
+ <cve>CVE-2019-11596</cve> <!-- NULL ptr deref in memcached server daemon
(memcached.c lru mode command) -->
+ <cve>CVE-2026-47784</cve> <!-- SASL password timing side-channel in
memcached server daemon -->
+ <cve>CVE-2026-47783</cve> <!-- SASL username timing side-channel in
memcached server daemon -->
+ <cve>CVE-2016-8705</cve> <!-- Integer overflow in memcached server daemon
(process_bin_update) -->
+ <cve>CVE-2016-8706</cve> <!-- Integer overflow in memcached server daemon
(process_bin_sasl_auth) -->
+ <cve>CVE-2016-8704</cve> <!-- Integer overflow in memcached server daemon
(process_bin_append_prepend) -->
+ <cve>CVE-2023-46852</cve> <!-- Buffer overflow in memcached server daemon
proxy mode multiget -->
+ <cve>CVE-2018-1000127</cve> <!-- Integer overflow in memcached server
daemon (items.c item_free) -->
+ <cve>CVE-2023-46853</cve> <!-- Off-by-one in memcached server daemon proxy
mode request parsing -->
+ <cve>CVE-2017-9951</cve> <!-- Heap buffer over-read in memcached server
daemon (try_read_command) -->
+ </suppress>
+
+ <suppress>
+ <!-- GHSA-w5hq-g745-h8pq: Missing bounds check in uuid v3/v5/v6 when the
optional buf
+ argument is provided. Druid's web console uses only uuidv4() with no
buf argument
+ (web-console/src/druid-models/workbench-query/workbench-query.ts), so
the
+ vulnerable code path is never exercised. -->
+ <notes><![CDATA[
+ file name: package-lock.json (pkg:npm/[email protected])
+ ]]></notes>
+ <packageUrl regex="true">^pkg:npm/uuid@.*$</packageUrl>
+ <vulnerabilityName>GHSA-w5hq-g745-h8pq</vulnerabilityName>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-53914: Unsafe deserialization in Kotlin's build cache
metadata (Kotlin compiler/Gradle plugin).
+ This is a build-toolchain vulnerability, not a runtime stdlib issue.
Druid has no Kotlin source files;
+ kotlin-stdlib is a transitive runtime dependency (via Iceberg) and
Druid never invokes Kotlin's build cache. -->
+ <notes><![CDATA[
+ file name: kotlin-stdlib-2.4.10.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/org\.jetbrains\.kotlin/kotlin-stdlib@.*$</packageUrl>
+ <cve>CVE-2026-53914</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-33117: Vulnerability in Azure SDK for Java's Key Vault Keys
local cryptographic verification path.
+ Druid's azure-extensions use azure-core/azure-identity for blob
storage auth only; Druid does not use
+ azure-keyvault-keys or the local cryptography client path that
contains the vulnerability. -->
+ <notes><![CDATA[
+ file name: azure-core-1.58.1.jar azure-core-http-netty-1.16.5.jar
azure-identity-1.18.4.jar azure-json-1.5.1.jar
+ ]]></notes>
+ <packageUrl regex="true">^pkg:maven/com\.azure/azure-.*@.*$</packageUrl>
+ <cve>CVE-2026-33117</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-49845: SQL injection in Hive Metastore partition-name
resolution.
+ CVE-2026-53561: SAML bearer-token authentication bypass in
HiveServer2.
+ CVE-2026-55976: SSRF via avro.schema.url in Avro SerDe schema
resolution.
+ All three affect Apache Hive server components (Metastore,
HiveServer2).
+ Druid uses hive-storage-api only for the Murmur3 hash utility
+ (BloomKFilter.java) and ORC/Parquet column type definitions — it does
not
+ run or connect to a Hive Metastore or HiveServer2. -->
+ <notes><![CDATA[
+ file name: hive-storage-api-4.2.0.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/org\.apache\.hive/hive-storage-api@.*$</packageUrl>
+ <cve>CVE-2026-49845</cve>
+ <cve>CVE-2026-53561</cve>
+ <cve>CVE-2026-55976</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-54512, CVE-2026-54513: PolymorphicTypeValidator bypass in
jackson-databind when
+ polymorphic typing is enabled with generic type parameters or array
subtypes.
+ These CVEs affect jackson-databind shaded inside
hadoop-client-runtime-3.5.0.jar and
+ parquet-jackson-1.18.0.jar — not Druid's own jackson-databind
(2.22.x). Druid cannot
+ upgrade the jackson version inside these third-party shaded jars.
Druid's own usage of
+ @JsonTypeInfo uses a custom StrictTypeIdResolver that is not affected
by these bypass paths.
+ CVE-2026-68497: Not yet published in NVD; suppressed as appearing
only inside shaded
+ hadoop/parquet jars that Druid cannot control. -->
+ <notes><![CDATA[
+ file name: hadoop-client-runtime-3.5.0.jar (shaded jackson-databind
2.18.6)
+ parquet-jackson-1.18.0.jar (shaded jackson-databind 2.22.1)
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/com\.fasterxml\.jackson\.core/jackson-databind@(2\.18\.|2\.22\.).*$</packageUrl>
Review Comment:
[P1] Scope Jackson suppressions to shaded jars
`packageUrl` is the only matcher here; the file name in `<notes>` is
informational. This regex therefore also matches Druid's ordinary
`com.fasterxml.jackson.core:jackson-databind` artifact. The root POM manages
that artifact at `2.22.2`, which matches `2.22.*`, so these CVEs are suppressed
for the production Jackson GAV as well as the shaded 2.18.6/2.22.1 copies
described in the notes. Scope each suppression to the shaded package/container
(or use an exact GAV/version) so a real finding in Druid's own Jackson is not
hidden.
##########
owasp-dependency-check-suppressions.xml:
##########
@@ -768,4 +869,156 @@
<packageUrl regex="true">^pkg:maven/io\.grpc/grpc-.*@.*$</packageUrl>
<cve>CVE-2026-33186</cve> <!-- Only applicable to gRPC Go
(google.golang.org/grpc < 1.79.3), not gRPC Java -
https://nvd.nist.gov/vuln/detail/CVE-2026-33186 -->
</suppress>
+
+ <suppress>
+ <!-- False positive: the scanner matches the Java client version 1.2.4
against
+ cpe:2.3:a:memcached:memcached:1.2.4 (the C memcached server daemon).
+ com.amazonaws:elasticache-java-cluster-client is a Java Memcached
client
+ library; all CVEs below are vulnerabilities in the Memcached server C
code.
+ Druid acts as a Memcached client and is not affected by server-side
CVEs. -->
+ <notes><![CDATA[
+ file name: elasticache-java-cluster-client-1.2.4.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/com\.amazonaws/elasticache-java-cluster-client@.*$</packageUrl>
+ <cve>CVE-2019-11596</cve> <!-- NULL ptr deref in memcached server daemon
(memcached.c lru mode command) -->
+ <cve>CVE-2026-47784</cve> <!-- SASL password timing side-channel in
memcached server daemon -->
+ <cve>CVE-2026-47783</cve> <!-- SASL username timing side-channel in
memcached server daemon -->
+ <cve>CVE-2016-8705</cve> <!-- Integer overflow in memcached server daemon
(process_bin_update) -->
+ <cve>CVE-2016-8706</cve> <!-- Integer overflow in memcached server daemon
(process_bin_sasl_auth) -->
+ <cve>CVE-2016-8704</cve> <!-- Integer overflow in memcached server daemon
(process_bin_append_prepend) -->
+ <cve>CVE-2023-46852</cve> <!-- Buffer overflow in memcached server daemon
proxy mode multiget -->
+ <cve>CVE-2018-1000127</cve> <!-- Integer overflow in memcached server
daemon (items.c item_free) -->
+ <cve>CVE-2023-46853</cve> <!-- Off-by-one in memcached server daemon proxy
mode request parsing -->
+ <cve>CVE-2017-9951</cve> <!-- Heap buffer over-read in memcached server
daemon (try_read_command) -->
+ </suppress>
+
+ <suppress>
+ <!-- GHSA-w5hq-g745-h8pq: Missing bounds check in uuid v3/v5/v6 when the
optional buf
+ argument is provided. Druid's web console uses only uuidv4() with no
buf argument
+ (web-console/src/druid-models/workbench-query/workbench-query.ts), so
the
+ vulnerable code path is never exercised. -->
+ <notes><![CDATA[
+ file name: package-lock.json (pkg:npm/[email protected])
+ ]]></notes>
+ <packageUrl regex="true">^pkg:npm/uuid@.*$</packageUrl>
+ <vulnerabilityName>GHSA-w5hq-g745-h8pq</vulnerabilityName>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-53914: Unsafe deserialization in Kotlin's build cache
metadata (Kotlin compiler/Gradle plugin).
+ This is a build-toolchain vulnerability, not a runtime stdlib issue.
Druid has no Kotlin source files;
+ kotlin-stdlib is a transitive runtime dependency (via Iceberg) and
Druid never invokes Kotlin's build cache. -->
+ <notes><![CDATA[
+ file name: kotlin-stdlib-2.4.10.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/org\.jetbrains\.kotlin/kotlin-stdlib@.*$</packageUrl>
+ <cve>CVE-2026-53914</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-33117: Vulnerability in Azure SDK for Java's Key Vault Keys
local cryptographic verification path.
+ Druid's azure-extensions use azure-core/azure-identity for blob
storage auth only; Druid does not use
+ azure-keyvault-keys or the local cryptography client path that
contains the vulnerability. -->
+ <notes><![CDATA[
+ file name: azure-core-1.58.1.jar azure-core-http-netty-1.16.5.jar
azure-identity-1.18.4.jar azure-json-1.5.1.jar
+ ]]></notes>
+ <packageUrl regex="true">^pkg:maven/com\.azure/azure-.*@.*$</packageUrl>
+ <cve>CVE-2026-33117</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-49845: SQL injection in Hive Metastore partition-name
resolution.
+ CVE-2026-53561: SAML bearer-token authentication bypass in
HiveServer2.
+ CVE-2026-55976: SSRF via avro.schema.url in Avro SerDe schema
resolution.
+ All three affect Apache Hive server components (Metastore,
HiveServer2).
+ Druid uses hive-storage-api only for the Murmur3 hash utility
+ (BloomKFilter.java) and ORC/Parquet column type definitions — it does
not
+ run or connect to a Hive Metastore or HiveServer2. -->
+ <notes><![CDATA[
+ file name: hive-storage-api-4.2.0.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/org\.apache\.hive/hive-storage-api@.*$</packageUrl>
+ <cve>CVE-2026-49845</cve>
+ <cve>CVE-2026-53561</cve>
+ <cve>CVE-2026-55976</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-54512, CVE-2026-54513: PolymorphicTypeValidator bypass in
jackson-databind when
+ polymorphic typing is enabled with generic type parameters or array
subtypes.
+ These CVEs affect jackson-databind shaded inside
hadoop-client-runtime-3.5.0.jar and
+ parquet-jackson-1.18.0.jar — not Druid's own jackson-databind
(2.22.x). Druid cannot
+ upgrade the jackson version inside these third-party shaded jars.
Druid's own usage of
+ @JsonTypeInfo uses a custom StrictTypeIdResolver that is not affected
by these bypass paths.
+ CVE-2026-68497: Not yet published in NVD; suppressed as appearing
only inside shaded
+ hadoop/parquet jars that Druid cannot control. -->
+ <notes><![CDATA[
+ file name: hadoop-client-runtime-3.5.0.jar (shaded jackson-databind
2.18.6)
+ parquet-jackson-1.18.0.jar (shaded jackson-databind 2.22.1)
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/com\.fasterxml\.jackson\.core/jackson-databind@(2\.18\.|2\.22\.).*$</packageUrl>
+ <cve>CVE-2026-54512</cve>
+ <cve>CVE-2026-54513</cve>
+ <cve>CVE-2026-68497</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-2332: Jetty HTTP/1.1 request smuggling via chunk extension
quoted strings.
+ CVE-2026-10050: Jetty Digest auth password encoding using ISO-8859-1.
+ Both affect Jetty shaded inside hadoop-client-runtime-3.5.0.jar.
Druid cannot upgrade
+ the Jetty version inside this shaded jar. The shaded Jetty is used
only for Hadoop's
+ internal HTTP server (WebHDFS, etc.), not for Druid's own HTTP server
(Jetty 12.x).
+ Druid does not use Hadoop's embedded Jetty server or Digest auth. -->
+ <notes><![CDATA[
+ file name: hadoop-client-runtime-3.5.0.jar (shaded org.eclipse.jetty*
9.4.58.v20250814)
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/org\.eclipse\.jetty(\.[^/]+)?/.*@9\.4\.58.*$</packageUrl>
+ <cve>CVE-2026-2332</cve>
+ <cve>CVE-2026-10050</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-56741, CVE-2026-56740: DoS via JLine Telnet server (NAWS
terminal dimensions and
+ NEW-ENVIRON flooding). JLine is shaded inside
hadoop-client-runtime-3.5.0.jar and is used
+ only for Hadoop's interactive CLI shell. Druid does not expose a
JLine Telnet server endpoint. -->
+ <notes><![CDATA[
+ file name: hadoop-client-runtime-3.5.0.jar (shaded jline 3.9.0)
+ ]]></notes>
+ <packageUrl regex="true">^pkg:maven/org\.jline/jline.*@.*$</packageUrl>
+ <cve>CVE-2026-56741</cve>
+ <cve>CVE-2026-56740</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-24051, CVE-2026-39883, CVE-2026-29181: All three affect the
OpenTelemetry Go SDK
+ (opentelemetry-go), not any Java library. The scanner matches
opentelemetry-gcp-resources
+ (a Java artifact) against the Go SDK CPE due to the shared
"opentelemetry" product name.
+ Druid's google-extensions use the Java opentelemetry-gcp-resources
for GCP resource
+ detection; the vulnerable PATH hijacking and baggage-header
amplification code exists
+ only in the Go implementation. -->
+ <notes><![CDATA[
+ file name: opentelemetry-gcp-resources-1.37.0-alpha.jar
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/io\.opentelemetry\.contrib/opentelemetry-gcp-resources@.*$</packageUrl>
+ <cve>CVE-2026-24051</cve>
+ <cve>CVE-2026-39883</cve>
+ <cve>CVE-2026-29181</cve>
+ </suppress>
+
+ <suppress>
+ <!-- CVE-2026-40542, CVE-2026-71290: Vulnerabilities in Apache HttpClient
5 (SCRAM mutual auth
+ and async hostname verification). CVE-2026-54399, CVE-2026-54428: DoS
in Apache HttpComponents
+ Core 5 (excessive headers and HTTP/2 HPACK). All four affect
httpclient5/httpcore5 shaded
+ inside docker-java-transport-zerodep-3.7.1.jar (a test-scoped
dependency used only by
+ druid-testcontainers for Docker container management in tests). These
are not present in
+ Druid's production runtime classpath. -->
+ <notes><![CDATA[
+ file name: docker-java-transport-zerodep-3.7.1.jar (shaded httpclient5
5.5.1 and httpcore5 5.3.6)
+ ]]></notes>
+ <packageUrl
regex="true">^pkg:maven/org\.apache\.httpcomponents\.(client5/httpclient5|core5/httpcore5)@.*$</packageUrl>
Review Comment:
[P2] Include httpcore5-h2 in the suppression
CVE-2026-54428 is published for
`org.apache.httpcomponents.core5:httpcore5-h2`, but this alternation only
matches `core5/httpcore5` and `client5/httpclient5`.
`docker-java-transport-zerodep-3.7.1.jar` embeds the HTTP/2 module separately
at 5.3.6, so the rule misses the component that this CVE is attached to and the
finding remains unsuppressed. Add `core5/httpcore5-h2` or scope the rule to the
containing test jar.
--
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]