Skip to content

CC-42331: Upgrade jackson-databind to 2.21.5 - #922

Open
Jainam Jain (jjain1259) wants to merge 1 commit into
14.1.xfrom
CC-42331-14.1.x
Open

CC-42331: Upgrade jackson-databind to 2.21.5#922
Jainam Jain (jjain1259) wants to merge 1 commit into
14.1.xfrom
CC-42331-14.1.x

Conversation

@jjain1259

@jjain1259 Jainam Jain (jjain1259) commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

  • Bumped com.fasterxml.jackson.core:jackson-databind from 2.18.6 to 2.21.5 to fix multiple jackson-databind CVEs
  • jackson-core and jackson-annotations are bumped alongside databind for version consistency; jackson-annotations no longer follows patch-level versioning as of the 2.20 line, so it now tracks its own jackson.annotations.version property
  • jackson-datatype-jsr310 (test scope only) is pinned to 2.21.4 because 2.21.5 is not yet available via the internal artifact mirror; it is unaffected by these CVEs since it's a test-only dependency
  • Root cause: direct dependency, pinned via the jackson.version property in pom.xml (not shaded)

CVE Details

  • Jira: CC-42331
  • Linked CVEs: CVE-2026-54512, CVE-2026-54513, CVE-2026-54514, CVE-2026-54515
  • Impacted versions: kafka-connect-elasticsearch:14.1.7, kafka-connect-elasticsearch:15.1.2
  • Vulnerable: com.fasterxml.jackson.core:jackson-databind:2.18.6
  • Fixed: com.fasterxml.jackson.core:jackson-databind:2.21.5 (via jackson.version property bump in pom.xml)

Test Results

Trivy CVE Scan

Command: trivy rootfs --scanners vuln .

Before (jackson-databind 2.18.6):

com.fasterxml.jackson.core:jackson-databind  CVE-2026-54512  HIGH    fixed  2.18.6  2.18.8, 3.1.4, 2.21.4          jackson-databind: Arbitrary code execution via PolymorphicTypeValidator bypass
com.fasterxml.jackson.core:jackson-databind  CVE-2026-54513          fixed  2.18.6  2.18.8, 2.21.4, 3.1.4          Jackson-databind: Security bypass allows arbitrary code execution
com.fasterxml.jackson.core:jackson-databind  CVE-2026-54514  MEDIUM  fixed  2.18.6  2.18.8, 2.21.4, 3.1.4          jackson-databind: Information Disclosure via Eager DNS Resolution
com.fasterxml.jackson.core:jackson-databind  CVE-2026-54515          fixed  2.18.6  3.1.4, 2.18.9, 2.21.5, 2.22.1  jackson-databind: Ignored properties can be unexpectedly modified

After (jackson-databind 2.21.5):

target/kafka-connect-elasticsearch-14.1.8-SNAPSHOT-development/share/java/kafka-connect-elasticsearch/jackson-core-2.21.5.jar          0
target/kafka-connect-elasticsearch-14.1.8-SNAPSHOT-development/share/java/kafka-connect-elasticsearch/jackson-databind-2.21.5.jar      0
target/kafka-connect-elasticsearch-14.1.8-SNAPSHOT-development/share/java/kafka-connect-elasticsearch/jackson-dataformat-cbor-2.21.5.jar   0
target/kafka-connect-elasticsearch-14.1.8-SNAPSHOT-package/share/java/kafka-connect-elasticsearch/jackson-core-2.21.5.jar              0
target/kafka-connect-elasticsearch-14.1.8-SNAPSHOT-package/share/java/kafka-connect-elasticsearch/jackson-databind-2.21.5.jar          0
target/kafka-connect-elasticsearch-14.1.8-SNAPSHOT-package/share/java/kafka-connect-elasticsearch/jackson-dataformat-cbor-2.21.5.jar       0

Result: CLEAN — 0 jackson-databind vulnerabilities detected (all four CVEs resolved)

Unit Tests — 0 tests, 0 failures (pre-existing, unchanged from base branch)

Command: mvn test

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] BUILD SUCCESS

Note: mvn test runs 0 tests on 14.1.x before this change too (confirmed by diffing against base branch) — unit tests in this module live under the integration-test (failsafe) phase.

Integration Tests — 25 tests, 0 failures, 4 pre-existing errors, 2 skipped (identical to base branch)

Command: mvn verify -DskipIntegrationTests=false -Dtest=none -DfailIfNoTests=false

[WARNING] Tests run: 7, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 42.083 s - in io.confluent.connect.elasticsearch.integration.ElasticsearchConnectorNetworkIT
[WARNING] Tests run: 14, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 10.999 s - in io.confluent.connect.elasticsearch.integration.ElasticsearchSinkTaskIT

[ERROR] io.confluent.connect.elasticsearch.integration.ElasticsearchConnectorIT
[ERROR]   Run 1: ElasticsearchConnectorIT.setupBeforeAll:79 » ContainerFetch Can't get Docker i...
[ERROR] io.confluent.connect.elasticsearch.integration.ElasticsearchConnectorKerberosIT
[ERROR]   Run 1: ElasticsearchConnectorKerberosIT.setupBeforeAll:36 » ContainerFetch Can't get ...
[ERROR] io.confluent.connect.elasticsearch.integration.ElasticsearchConnectorKerberosWithSslIT
[ERROR]   Run 1: ElasticsearchConnectorKerberosWithSslIT.setupBeforeAll:24 » ContainerFetch Can...
[ERROR] io.confluent.connect.elasticsearch.integration.ElasticsearchConnectorSslIT
[ERROR]   Run 1: ElasticsearchConnectorSslIT.setupBeforeAll:48 » ContainerFetch Can't get Docke...

Tests run: 25, Failures: 0, Errors: 4, Skipped: 2

The 4 errors are pre-existing local-environment Docker image pull failures (ContainerFetch), confirmed identical (same 4 tests, same failure type) when run against the unmodified 14.1.x base branch — unrelated to this dependency bump.

KDP Sink Test

Command: playground run -f ./elasticsearch-sink.sh --connector-jar /path/to/kafka-connect-elasticsearch-14.1.8-SNAPSHOT.jar --environment plaintext

🎯☕ CONNECTOR_JAR (--connector-jar option) is set with .../kafka-connect-elasticsearch-14.1.8-SNAPSHOT.jar
✅ 🌎onprem connector elasticsearch-sink was successfully created

Name                           Status       Tasks                        Stack Trace
-------------------------------------------------------------------------------------------------------------
elasticsearch-sink             ✅ RUNNING  0:🟢 RUNNING                 -
-------------------------------------------------------------------------------------------------------------

✅ RESULT: SUCCESS for elasticsearch-sink.sh (took: 5min 6sec - )

Additionally verified end-to-end via direct API checks: all 10 test records were correctly indexed into Elasticsearch (GET /test-elasticsearch-sink/_count{"count":10}), and the connector/task remained in RUNNING state throughout with no errors in the Connect logs.

Fixes CVE-2026-54512, CVE-2026-54513, CVE-2026-54514, CVE-2026-54515
(CC-42331). jackson-core and jackson-annotations are bumped alongside
databind for consistency; jackson-annotations no longer follows
patch-level versioning as of the 2.20 line, so it gets its own
property. jackson-datatype-jsr310 (test scope only) is pinned to
2.21.4 since 2.21.5 isn't yet available via the internal artifact
mirror; it is unaffected by these CVEs.
@jjain1259
Jainam Jain (jjain1259) requested a review from a team as a code owner July 7, 2026 11:21
@confluent-cla-assistant

Copy link
Copy Markdown

🎉 All Contributor License Agreements have been signed. Ready to merge.
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

@sonarqube-confluent

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant