FrankChen021 opened a new pull request, #19806:
URL: https://github.com/apache/druid/pull/19806

   ## What changed
   
   - remove the Cassandra storage module's local dependency-management pin for 
`org.yaml:snakeyaml:1.33`
   - exclude SnakeYAML from the transitive `astyanax -> cassandra-all` 
dependency chain
   
   ## Why
   
   Dependabot alert #297 reports a constructor-deserialization vulnerability in 
SnakeYAML 1.33. The Cassandra storage extension was overriding Druid's root 
dependency management to keep this vulnerable version in its runtime graph.
   
   Cassandra 1.0.8 uses old SnakeYAML APIs that were removed in SnakeYAML 2.x, 
including `org.yaml.snakeyaml.Loader` and `Constructor(Class)`. Replacing 1.33 
with the root-managed 2.5 would therefore leave binary-incompatible 
server-configuration classes on the classpath.
   
   The Druid extension uses Astyanax's Cassandra client/thrift APIs and does 
not use Cassandra's YAML server-configuration loader. Excluding this unused 
transitive dependency removes the vulnerable artifact without introducing a 
knowingly incompatible replacement.
   
   ## Impact
   
   The Cassandra storage extension no longer packages SnakeYAML through 
Astyanax/Cassandra. Other modules and root dependency management are unchanged.
   
   ## Verification
   
   - `mvn -ntp dependency:tree -pl extensions-contrib/cassandra-storage 
-Dincludes=org.yaml:snakeyaml -Pskip-static-checks -Dweb.console.skip=true -T1C`
     - succeeds with no SnakeYAML artifact in the module dependency tree
   - `mvn -ntp test -pl extensions-contrib/cassandra-storage 
-Pskip-static-checks -Dweb.console.skip=true -T1C`
     - succeeds and compiles all six module source files
   - `git diff --check`
   
   ## Caveat
   
   This module has no test sources, and validation does not connect to a live 
Cassandra cluster. The change is intentionally limited to an unused Cassandra 
server-side YAML dependency.
   


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

Reply via email to