This is an automated email from the ASF dual-hosted git repository.
oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
The following commit(s) were added to refs/heads/main by this push:
new c2acedcd0 Fix #3054: move snowflake-jdbc to 4.3.4 and onto the 4.x
DataSource factory (#3055)
c2acedcd0 is described below
commit c2acedcd04a78d5f930dc7a7d63e4fa67b1799a5
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Sep 21 13:27:12 2026 +0200
Fix #3054: move snowflake-jdbc to 4.3.4 and onto the 4.x DataSource factory
(#3055)
The weekly catalog dependency scan opened #3054 for GHSA-gx6c-pv62-9mcf
(CVE-2026-3293) against the pinned snowflake-jdbc 3.24.2. No 3.x release
clears
it: of 189 affected versions the highest is 4.0.1, and the newest 3.x on
Central
is still affected, so the fix is a major version move.
4.x restructures the API. net.snowflake.client.jdbc now holds only
SnowflakeDriver; SnowflakeBasicDataSource, which both Kamelets
instantiated, has
moved to an internal package, and the public DataSource is an interface
obtained
from SnowflakeDataSourceFactory. Both templates now create the bean through
that
factory. The four properties they set, user, password, url and
databaseName, all
exist on the new interface, so the configuration surface is unchanged.
The version is bumped in pom.xml rather than in the Kamelets: the
groovy-maven-plugin execution at process-resources rewrites the mvn:
coordinates
from the version.* properties, so editing the YAML is undone by the next
build.
Verified by driving a message through the sink against 4.3.4: the bean is
created
and the driver reaches the Snowflake login endpoint, deriving the account
from the
URL, so no new property is needed. 4.3.4 still ships Java 8 bytecode, so
the Java
17 baseline is unaffected.
Authentication against a real account is not covered. There are no Citrus
tests
for these Kamelets and CI has no credentials, a limitation identical to
3.24.2.
Co-authored-by: Claude Opus 5 <[email protected]>
---
camel-kamelets-sbom/camel-kamelets-catalog-sbom.json | 12 ++++++------
kamelets/snowflake-sink.kamelet.yaml | 5 +++--
kamelets/snowflake-source.kamelet.yaml | 5 +++--
pom.xml | 2 +-
4 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/camel-kamelets-sbom/camel-kamelets-catalog-sbom.json
b/camel-kamelets-sbom/camel-kamelets-catalog-sbom.json
index b70351919..935448482 100644
--- a/camel-kamelets-sbom/camel-kamelets-catalog-sbom.json
+++ b/camel-kamelets-sbom/camel-kamelets-catalog-sbom.json
@@ -1406,12 +1406,12 @@
"version" : "3.15.1",
"purl" :
"pkg:maven/io.quarkus/[email protected]"
}, {
- "bom-ref" : "pkg:maven/net.snowflake/[email protected]",
+ "bom-ref" : "pkg:maven/net.snowflake/[email protected]",
"type" : "library",
"group" : "net.snowflake",
"name" : "snowflake-jdbc",
- "version" : "3.24.2",
- "purl" : "pkg:maven/net.snowflake/[email protected]"
+ "version" : "4.3.4",
+ "purl" : "pkg:maven/net.snowflake/[email protected]"
}, {
"bom-ref" :
"pkg:maven/org.apache.activemq/[email protected]",
"type" : "library",
@@ -3407,10 +3407,10 @@
"dependsOn" : [
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]" ]
}, {
"ref" : "kamelet:snowflake-sink",
- "dependsOn" : [ "pkg:maven/net.snowflake/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.commons/[email protected]" ]
+ "dependsOn" : [ "pkg:maven/net.snowflake/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.commons/[email protected]" ]
}, {
"ref" : "kamelet:snowflake-source",
- "dependsOn" : [ "pkg:maven/net.snowflake/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.commons/[email protected]" ]
+ "dependsOn" : [ "pkg:maven/net.snowflake/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.commons/[email protected]" ]
}, {
"ref" : "kamelet:solr-sink",
"dependsOn" : [ "pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]",
"pkg:maven/org.apache.camel/[email protected]" ]
@@ -3532,7 +3532,7 @@
"ref" :
"pkg:maven/io.quarkus/[email protected]",
"dependsOn" : [ ]
}, {
- "ref" : "pkg:maven/net.snowflake/[email protected]",
+ "ref" : "pkg:maven/net.snowflake/[email protected]",
"dependsOn" : [ ]
}, {
"ref" : "pkg:maven/org.apache.activemq/[email protected]",
diff --git a/kamelets/snowflake-sink.kamelet.yaml
b/kamelets/snowflake-sink.kamelet.yaml
index bb80b135e..59e3853b2 100644
--- a/kamelets/snowflake-sink.kamelet.yaml
+++ b/kamelets/snowflake-sink.kamelet.yaml
@@ -72,7 +72,7 @@ spec:
- "camel:jackson"
- "camel:kamelet"
- "camel:sql"
- - "mvn:net.snowflake:snowflake-jdbc:3.24.2"
+ - "mvn:net.snowflake:snowflake-jdbc:4.3.4"
- "mvn:org.apache.commons:commons-dbcp2:2.14.0"
template:
beans:
@@ -81,7 +81,8 @@ spec:
properties:
autowiredEnabled: "false"
- name: dsBean
- type: "#class:net.snowflake.client.jdbc.SnowflakeBasicDataSource"
+ type:
"#class:net.snowflake.client.api.datasource.SnowflakeDataSourceFactory"
+ factoryMethod: "createDataSource"
properties:
user: '{{username}}'
password: '{{password}}'
diff --git a/kamelets/snowflake-source.kamelet.yaml
b/kamelets/snowflake-source.kamelet.yaml
index f2340e6f6..f522719fc 100644
--- a/kamelets/snowflake-source.kamelet.yaml
+++ b/kamelets/snowflake-source.kamelet.yaml
@@ -82,7 +82,7 @@ spec:
- "camel:jackson"
- "camel:kamelet"
- "camel:sql"
- - "mvn:net.snowflake:snowflake-jdbc:3.24.2"
+ - "mvn:net.snowflake:snowflake-jdbc:4.3.4"
- "mvn:org.apache.commons:commons-dbcp2:2.14.0"
template:
beans:
@@ -91,7 +91,8 @@ spec:
properties:
autowiredEnabled: "false"
- name: dsBean
- type: "#class:net.snowflake.client.jdbc.SnowflakeBasicDataSource"
+ type:
"#class:net.snowflake.client.api.datasource.SnowflakeDataSourceFactory"
+ factoryMethod: "createDataSource"
properties:
user: '{{username}}'
password: '{{password}}'
diff --git a/pom.xml b/pom.xml
index af52c18ef..2a0b7e9f7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
<version.org.apache.activemq.artemis-jakarta-client-all>2.57.0</version.org.apache.activemq.artemis-jakarta-client-all>
<version.org.messaginghub.pooled-jms>3.2.4</version.org.messaginghub.pooled-jms>
<version.org.postgresql.postgresql>42.7.13</version.org.postgresql.postgresql>
-
<version.net.snowflake.snowflake-jdbc>3.24.2</version.net.snowflake.snowflake-jdbc>
+
<version.net.snowflake.snowflake-jdbc>4.3.4</version.net.snowflake.snowflake-jdbc>
<version.io.quarkus.quarkus-apicurio-registry-avro>3.24.2</version.io.quarkus.quarkus-apicurio-registry-avro>
<!-- These versions should be taken from Azure SDK BOM 1.3.3 used in
the Camel version declared -->
<version.com.azure.azure-identity>1.18.1</version.com.azure.azure-identity>