fix(openbao): replace legacy Docker module in JWT plugin - #1824
Conversation
Upgrade github.com/hashicorp/go-secure-stdlib/plugincontainer from v0.4.1 to v0.5.0. This replaces github.com/docker/docker v27.2.1 with github.com/moby/moby/api v1.54.0 and github.com/moby/moby/client v0.3.0 while retaining container support. Add build-time checks so the legacy module cannot re-enter the plugin binary. The dependency licenses remain allowed, and NOTICE records the change. Fixes #1738 Signed-off-by: Stephanie Baum <sbaum@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
Included review availability: Your plan provides up to 12 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe JWT plugin now pins ChangesJWT plugin dependency validation
Priority: ⬆️ High Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: High Merge Risk: 🟡 Moderate · up to The upgrade image can still contain an unremediated JWT plugin with the legacy Docker dependency, so this security-focused change should be corrected before merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
|
🎉 This PR is included in version nvcf-openbao-v1.3.4 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
TL;DR
Upgrade the OpenBao JWT plugin from plugincontainer v0.4.1 to v0.5.0. This preserves Docker-backed plugin support while replacing the legacy
github.com/docker/dockermodule reported for CVE-2026-17106 with the split Moby API and client modules.Additional Details
The JWT plugin receives its Docker dependency transitively from the Vault SDK through
github.com/hashicorp/go-secure-stdlib/plugincontainer. The legacy Docker module does not publish the fixed 29.7.0 module version, while plugincontainer v0.5.0 has migrated its API and client use togithub.com/moby/moby/apiandgithub.com/moby/moby/client.This change also:
github.com/docker/dockerDependency review:
github.com/hashicorp/go-secure-stdlib/plugincontainerv0.5.0: MPL-2.0github.com/moby/moby/apiv1.54.0: Apache-2.0github.com/moby/moby/clientv0.3.0: Apache-2.0github.com/containerd/errdefsv1.0.0 andgithub.com/containerd/errdefs/pkgv0.3.0: Apache-2.0All licenses are allowed by the repository policy. NOTICE is updated for the plugincontainer and Moby module migration.
For the Reviewer
The functional change is the plugincontainer dependency migration. Most of the line churn is generated
go.sumcleanup. Please focus on the build and artifact verification changes ininfra/openbao/scripts/and.github/workflows/openbao-jwt-plugin.yml.For QA
Validation completed:
go test ./...go build ./...go mod tidy -diffgo mod verifyinfra/openbao/scripts/build-jwt-plugin.shgithub.com/docker/dockerdependencyshellcheck -x infra/openbao/scripts/build-jwt-plugin.sh infra/openbao/scripts/verify-jwt-plugin.sh.github/workflows/openbao-jwt-plugin.ymlas YAMLgit diff --check origin/main...HEADNo additional QA is expected because the existing plugin tests and cross-platform artifact verification cover the dependency-only change.
Issues
Fixes #1738
Checklist
Summary by CodeRabbit
Chores
Tests