Skip to content

fix(deps): bump jackson, netty, pgjdbc and logback to patch CVEs - #798

Merged
fhussonnois merged 1 commit into
mainfrom
fix/security-cve-dependency-bumps
Jul 31, 2026
Merged

fix(deps): bump jackson, netty, pgjdbc and logback to patch CVEs#798
fhussonnois merged 1 commit into
mainfrom
fix/security-cve-dependency-bumps

Conversation

@fhussonnois

Copy link
Copy Markdown
Member

Resolves the HIGH findings reported by the Trivy scan that runs on pull request builds (seen on #796).

Bumps

Library From To
com.fasterxml.jackson 2.18.6 (and 2.21.2 via Micronaut) 2.21.4
io.netty 4.2.13.Final 4.2.16.Final
org.postgresql 42.7.11 (42.7.8 as actually resolved) 42.7.12
ch.qos.logback 1.5.32 1.5.34

Together these clear every HIGH the scan reported across pom.xml, cli, core, extension-rest-client, template-jinja, resource-generator, server/jikkou-api-server and all providers/* modules.

Why more than a property bump was needed

cli and server/jikkou-api-server import the Micronaut BOMs in their own dependencyManagement, which takes precedence over the inherited parent one. Bumping jackson.version in the parent alone had no effect there: those two modules kept resolving Micronaut's Jackson 2.21.2. That is why the scan reported two different Jackson versions.

Chasing this surfaced a related issue the report understated: the same precedence rule meant cli and api-server were resolving pgjdbc to 42.7.8, i.e. older than the 42.7.11 declared in the Iceberg module.

Both the Jackson BOM and pgjdbc are now imported ahead of the Micronaut BOMs, mirroring what was already in place for Netty. The pgjdbc version moves to a postgresql.version property in the parent so the Iceberg JDBC catalog driver no longer carries its own literal.

Verification

  • dependency:tree across all 18 modules: every jackson / netty / postgresql / logback artifact resolves to a patched version, no stragglers.
  • Full unit test suite passes, 18/18 modules.
  • Integration tests were not run locally (they need Docker/testcontainers) - worth watching CI here given the Jackson 2.18 to 2.21 minor jump.

Not addressed

  • org.lz4:lz4-java (CVE-2025-66566, CVE-2026-59949): Dependabot reports no patched version available upstream, so there is nothing to bump to.
  • npm advisories in docs/package-lock.json (postcss, braces, decompress, picomatch): real open alerts, but they affect the docs site rather than the shipped artifacts. Better handled separately.

Resolves the HIGH findings reported by the Trivy scan on the pull
request builds:

- jackson 2.18.6 -> 2.21.4
- netty 4.2.13.Final -> 4.2.16.Final
- postgresql 42.7.11 -> 42.7.12
- logback 1.5.32 -> 1.5.34

The cli and api-server modules import the Micronaut BOMs in their own
dependencyManagement, which takes precedence over the inherited parent
one. Jackson therefore resolved to Micronaut's 2.21.2 and pgjdbc to its
42.7.8, regardless of the parent pins. Both are now imported ahead of
the Micronaut BOMs, mirroring what was already done for Netty.

The pgjdbc version is centralized in the parent as postgresql.version so
the Iceberg JDBC catalog driver no longer carries its own literal.
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown
Contributor

Security Scan Results

Vulnerabilities detected:


Report Summary

┌───────────────────────────────────────────────────┬───────┬─────────────────┬─────────┐
│                      Target                       │ Type  │ Vulnerabilities │ Secrets │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ cli/pom.xml                                       │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ core/pom.xml                                      │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ docs/go.mod                                       │ gomod │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ extension-rest-client/pom.xml                     │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ pom.xml                                           │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ processor/pom.xml                                 │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-aiven/pom.xml           │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-aws/pom.xml             │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-confluent/pom.xml       │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-core/pom.xml            │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-iceberg/pom.xml         │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-kafka-connect/pom.xml   │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-kafka/pom.xml           │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ providers/jikkou-provider-schema-registry/pom.xml │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ resource-generator/pom.xml                        │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ server/jikkou-api-client/pom.xml                  │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ server/jikkou-api-data/pom.xml                    │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ server/jikkou-api-server/pom.xml                  │  pom  │        0        │    -    │
├───────────────────────────────────────────────────┼───────┼─────────────────┼─────────┤
│ template-jinja/pom.xml                            │  pom  │        0        │    -    │
└───────────────────────────────────────────────────┴───────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


Scanned by Trivy

@fhussonnois
fhussonnois merged commit d446aed into main Jul 31, 2026
4 checks passed
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