Skip to content

Fix blocking security scan findings on main - #1663

Merged
sreekanth-db merged 3 commits into
mainfrom
fix/security-scan-main
Aug 25, 2026
Merged

Fix blocking security scan findings on main#1663
sreekanth-db merged 3 commits into
mainfrom
fix/security-scan-main

Conversation

@sreekanth-db

@sreekanth-db sreekanth-db commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • upgrade Apache HttpClient to 5.6.3, which officially resolves both httpcore5 and httpcore5-h2 to patched version 5.4.3
  • update Jackson, lz4-java, and shaded Netty dependencies to clear the remaining current OSV findings
  • document the user-visible dependency updates in NEXT_CHANGELOG.md

Closes #1584.

Test plan

  • mvn clean package -Dmaven.test.skip=true -Ddependency-check.skip=true -B
  • Maven dependency tree resolves httpclient5:5.6.3, httpcore5:5.4.3, and httpcore5-h2:5.4.3
  • verified the uber JAR embeds those versions plus Jackson 2.18.9, lz4-java 1.11.1, and Netty 4.2.15.Final
  • GitHub Security Scan
  • local PR integration tests
  • external JDBC integration tests

Telemetry Errors

  • Not applicable — this change does not add or change a telemetry-visible error.

…re5)

Resolves OSV-Scanner findings and issue #1584:

- jackson-databind/core/annotations 2.18.8 -> 2.18.9
  (CVE-2026-54515, CVE-2026-59889, GHSA-mhm7-754m-9p8w)
- lz4-java 1.10.1 -> 1.11.1 (CVE-2026-59949)
- netty-buffer/netty-common 4.2.13.Final -> 4.2.15.Final (#1584)
- httpcore5 5.3.6 -> 5.4.3 and pin transitive httpcore5-h2 to 5.4.3 via
  dependencyManagement (CVE-2026-54399, CVE-2026-54428; #1584).
  httpclient5 stays 5.5.2, which is compatible with the httpcore5 5.4.x branch.

Verified: clean build embeds the fixed versions in the uber jar; OSV-Scanner
reports zero findings; integration tests pass (SQL_EXEC 241, THRIFT_SERVER 189,
0 failures/errors).

Co-authored-by: Isaac
Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: 1 Low

Clean, consistent security dependency bump — httpcore5 5.4.3 (+ new httpcore5-h2 pin), Jackson 2.18.9, lz4-java 1.11.1, Netty 4.2.15.Final — with matching NEXT_CHANGELOG entries. Version properties are consistent and the httpcore5-h2 pin correctly lives in the parent dependencyManagement that both jdbc-core and the uber assembly inherit. One low-severity note: verify httpclient5 5.5.2 runtime compatibility with the forced httpcore5 5.4.3, since the test plan skipped tests.

Comment thread pom.xml
Use HttpClient 5.6.3 so its supported HttpCore 5.4.3 dependency set resolves naturally, while retaining the security fixes and simplifying the changelog.

Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com>
State explicitly that the bundled dependency upgrades address security findings.

Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: 1 Medium

Dependency-bump PR to clear security-scan findings. One medium concern: the PR description claims to "pin httpcore5-h2," but no such pin exists in the diff or poms — it's only pulled transitively via httpclient5, so the CVE fix isn't enforced and it may skew from the explicitly-pinned httpcore5 5.4.3. The changelog entry and other version bumps look fine.

Other findings

  • 🟡 Medium — The PR description says it will "pin httpcore5-h2" to clear the blocking CVSS 7.5 finding, but there is no such pin anywhere in the diff or the poms — httpcore5-h2 is declared neither as a direct dependency nor in <dependencyManagement> (grep finds it only in the historical CHANGELOG.md). Two consequences worth confirming before relying on this to close the finding:
  1. The CVE fix for httpcore5-h2 is not guaranteed. httpcore5-h2 is pulled in only transitively via httpclient5 (async-httpclient.version = 5.6.3). Its resolved version is whatever that transitive edge declares — the explicit httpcore5 pin (5.4.3) governs a different artifact and does not constrain httpcore5-h2. If the security finding is against httpcore5-h2 specifically, it is only resolved if httpclient5 5.6.3 happens to bring a patched httpcore5-h2; it is not enforced here.

  2. Potential version skew between httpcore5 and httpcore5-h2. These two artifacts are released in lockstep and share internal APIs, so they must resolve to the same version. Forcing httpcore5 to 5.4.3 while httpcore5-h2 floats transitively (potentially to whatever httpclient5 5.6.3 was built against) risks a mismatch that can surface as runtime linkage errors (NoSuchMethodError/NoClassDefFoundError) on the HTTP/2 path.

Recommend explicitly pinning httpcore5-h2 to ${httpcore5.version} (as a direct dependency or in <dependencyManagement>) to both enforce the CVE fix and keep it aligned with httpcore5. Please also confirm the resolved uber-JAR actually contains httpcore5-h2 5.4.3 (the test plan only mentions verifying httpcore5 and httpcore5-h2 5.4.3 — worth double-checking that claim given no pin exists).

@github-actions

Copy link
Copy Markdown

JDBC integration tests triggered (replay, thrift + sea). View workflow runs.

@sreekanth-db

Copy link
Copy Markdown
Collaborator Author

Addressing the latest reviewer-bot concern: httpcore5-h2 is intentionally no longer manually pinned. Apache HttpClient 5.6.3's published dependency management declares both httpcore5 and httpcore5-h2 at 5.4.3.

Verified in this branch:

  • Maven dependency tree: httpclient5:5.6.3httpcore5-h2:5.4.3, with direct httpcore5:5.4.3
  • built uber JAR contains httpclient5-5.6.3.jar, httpcore5-5.4.3.jar, and httpcore5-h2-5.4.3.jar
  • Security Scan and local PR integration tests pass

Official dependency report: https://hc.apache.org/httpcomponents-client-5.6.x/5.6.3/httpclient5/dependencies.html

@sreekanth-db
sreekanth-db added this pull request to the merge queue Aug 25, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 25, 2026
@sreekanth-db
sreekanth-db added this pull request to the merge queue Aug 25, 2026
Merged via the queue into main with commit 6220743 Aug 25, 2026
34 checks passed
@sreekanth-db
sreekanth-db deleted the fix/security-scan-main branch August 25, 2026 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade shaded Netty and HttpCore dependencies in JDBC 3.4.2

3 participants