Skip to content

Migrate Consul client to kiwiproject fork to clear okhttp CVE-2021-0341#13920

Merged
wu-sheng merged 3 commits into
masterfrom
fix/consul-client-kiwiproject
Jun 19, 2026
Merged

Migrate Consul client to kiwiproject fork to clear okhttp CVE-2021-0341#13920
wu-sheng merged 3 commits into
masterfrom
fix/consul-client-kiwiproject

Conversation

@wu-sheng

Copy link
Copy Markdown
Member

Fix CVE-2021-0341 carried by the abandoned com.orbitz.consul:consul-client

  • Add a unit test to verify that the fix works.
  • Explain briefly why the bug exists and how to fix it.

Migrate the Consul cluster and configuration plugins from the abandoned com.orbitz.consul:consul-client 1.5.3 to the maintained fork org.kiwiproject:consul-client 0.9.0.

Why: the old com.orbitz.consul client is abandoned and pins okhttp 3.14.9, which carries CVE-2021-0341 (improper hostname verification, fixed in okhttp 4.9.2).

How:

  • Switch both plugins to the maintained fork org.kiwiproject:consul-client. It is a drop-in package rename (com.orbitz.consulorg.kiwiproject.consul); the plugins use only stable Consul APIs, so there are no logic changes (existing UTs/ITs cover the behavior).
  • Pin to 0.9.0 specifically: it is the newest fork release still compiled to JDK 11 bytecode (class major 55). Releases 1.0.0+ are Java-17 bytecode (major 61) and would break SkyWalking's JDK 11 support (maven.compiler.release=11; CI builds on JDK 11).
  • Bump okhttp 3.14.94.12.0 in the BOM (clears CVE-2021-0341; Java-8/11 safe). okhttp is pulled only by the Consul plugins — the fabric8 Kubernetes client excludes its okhttp transport — so no other module is affected.
  • Pin jackson-datatype-jdk8 / jackson-datatype-guava to the managed jackson 2.18.6 so the fork cannot drag in an off-version (it declares 2.15.2).
  • Integration tests stay on consul:0.9 (unchanged from master). Regenerated dist-material/release-docs/LICENSE and added .licenserc.yaml mappings for the changed dependencies.

Verified locally: full -Pall build, unit tests, cluster IT (5/5) and configuration IT (2/2) all pass; checkstyle clean; license headers valid; license-eye dependency resolve produces a clean LICENSE.

  • If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
  • Update the CHANGES log.

🤖 Generated with Claude Code

… okhttp CVE

Migrate the Consul cluster and configuration plugins from the abandoned
com.orbitz.consul:consul-client 1.5.3 to the maintained fork
org.kiwiproject:consul-client 0.9.0 to clear CVE-2021-0341 (okhttp 3.14.9).

- Pin to 0.9.0: the newest fork release still built for JDK 11 bytecode
  (1.0.0+ is Java 17, which SkyWalking still targets via maven.compiler.release=11).
- BOM: bump okhttp 3.14.9 -> 4.12.0 (clears the CVE, Java-8/11 safe); pin
  jackson-datatype-jdk8/guava to the managed jackson 2.18.6 so the client
  cannot drag in an off-version.
- Source change is a package rename (com.orbitz.consul -> org.kiwiproject.consul);
  plugins use only stable Consul APIs.
- ITs stay on consul:0.9. Regenerated LICENSE and added .licenserc.yaml mappings.
@wu-sheng wu-sheng added the dependencies Pull requests that update a dependency file label Jun 19, 2026
@wu-sheng wu-sheng added this to the 11.0.0 milestone Jun 19, 2026
wu-sheng added 2 commits June 19, 2026 11:38
The log4j 1.x example config (log4j.properties) was removed when log4j 1.x
test fixtures were dropped in #13915, leaving a dead relative link that the
docs link-check flagged (Status 400). Drop the log4j1.x fileAppender bullet;
the log4j2.x and logback examples remain.
@wu-sheng wu-sheng merged commit 6cf8075 into master Jun 19, 2026
436 of 439 checks passed
@wu-sheng wu-sheng deleted the fix/consul-client-kiwiproject branch June 19, 2026 05:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants