oscerd opened a new pull request, #3055:
URL: https://github.com/apache/camel-kamelets/pull/3055

   Closes #3054, raised by the weekly catalog dependency scan for 
GHSA-gx6c-pv62-9mcf (CVE-2026-3293) against the pinned `snowflake-jdbc:3.24.2`.
   
   ## No 3.x clears it
   
   189 affected versions, the highest being `4.0.1`. The newest 3.x on Central, 
`3.28.0`, is still affected; `4.1.0` onwards are clean. So this is a major 
version move, not a patch bump.
   
   ## 4.x moved the class both Kamelets used
   
   `net.snowflake.client.jdbc` now contains only `SnowflakeDriver`. 
`SnowflakeBasicDataSource`, which both templates instantiated, moved to an 
internal package, and the public DataSource is an **interface** produced by a 
factory:
   
   ```yaml
   - name: dsBean
     type: 
"#class:net.snowflake.client.api.datasource.SnowflakeDataSourceFactory"
     factoryMethod: "createDataSource"
     properties:
       user: '{{username}}'
       password: '{{password}}'
       url: 'jdbc:snowflake://{{instanceUrl}}'
       databaseName: '{{?databaseName}}'
   ```
   
   All four properties exist on the new interface, so the configuration surface 
is unchanged for users.
   
   ## The version belongs in pom.xml, not the Kamelet
   
   Worth recording, because it is easy to get wrong: the `groovy-maven-plugin` 
execution at `process-resources` rewrites the `mvn:` coordinates in `kamelets/` 
from the `version.*` properties in the root pom. I edited the YAML first and 
the next build silently put `3.24.2` back. The canonical change is:
   
   ```xml
   
<version.net.snowflake.snowflake-jdbc>4.3.4</version.net.snowflake.snowflake-jdbc>
   ```
   
   and the build propagates it to both Kamelets and to the catalog SBOM.
   
   This also refines something I wrote on #3050. I said these pinned versions 
are invisible to Dependabot because they live in Kamelet YAML. Eleven of the 
seventeen are actually pom properties — but *orphan* properties, referenced by 
no `<dependency>` declaration and consumed only by that groovy script, so 
Dependabot does not update them either. Dependabot has never touched one. The 
conclusion stands; the mechanism I described did not.
   
   ## Verified
   
   - A route instantiating `snowflake-sink` against 4.3.4 starts cleanly: 
`Routes startup (total:1 started:1 kamelets:1)`. The same route against the old 
bean type fails with `ClassNotFoundException: 
net.snowflake.client.jdbc.SnowflakeBasicDataSource`, which is how I confirmed 
the class is genuinely gone rather than relocated in a way `#class:` would 
still find.
   - The catalog dependency scan now exits `0`: no advisories against the 17 
pinned artifacts, none against the 115 Camel components.
   - `mvn clean install` green.
   - 4.3.4 still ships Java 8 bytecode, so the Java 17 baseline is unaffected.
   
   ## Not verified
   
   **An actual connection to Snowflake.** There are no Citrus tests for these 
Kamelets and exercising them needs a real account, so what is checked here is 
the wiring and bean creation, not the round trip. Someone with an account 
should sanity-check a real query before this is relied on — in particular 
whether `url` alone still suffices in 4.x or whether `account` is now expected, 
since the 4.x examples set it explicitly.
   
   ---
   _Claude Code on behalf of Andrea Cosentino_
   


-- 
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]

Reply via email to