Update to latest urfave/cli 1.22.x version to address Snyk vulnerabilities#111
Merged
Conversation
…t breaking changes.
|
| Status | Scanner | Total (0) | ||||
|---|---|---|---|---|---|---|
| Open Source Security | 0 | 0 | 0 | 0 | See details | |
| Licenses | 0 | 0 | 0 | 0 | See details |
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of the Change
This change updates the CLI’s dependency on
github.com/urfave/clifromv1.22.4tov1.22.17.The newer
v1.22.17release ofurfave/clipinsgopkg.in/yaml.v2tov2.4.0, which addresses the YAML DoS vulnerability Snyk was reporting through the transitive dependency chain.Running
go mod tidyafter the upgrade also refreshed a few indirect dependencies (e.g.github.com/cpuguy83/go-md2man/v2,github.com/russross/blackfriday/v2) to versions compatible with the newurfave/clirelease. No application code or CLI behavior was intentionally changed.Why Should This Be In The Package?
This keeps the CLI’s dependencies up to date with upstream security fixes while staying on the stable v1.x API of
urfave/cli(avoiding v2 breaking changes).It removes a Snyk-reported high‑severity vulnerability in
gopkg.in/yaml.v2that is pulled in viaurfave/cli, improving the security posture of the distributed binary without altering user-facing commands.Benefits
gopkg.in/yaml.v2@v2.2.2from the dependency graph by pulling inv2.4.0viaurfave/cli v1.22.17.v1.22.xline ofurfave/cli, avoiding the breaking changes in v2.urfave/climaintenance work and resolves the Snyk dashboard findings for this project.Possible Drawbacks
Any dependency bump can introduce subtle behavior changes, even in patch/minor versions, though this change is confined to the
v1.22.xseries and does not alter our CLI code directly.Indirect dependencies (like
go-md2man/blackfriday) were also updated bygo mod tidy, which could cause small differences in generated help output; no such differences were observed in manual testing.Verification Process
bin/vinyldns zonesbin/vinyldns groupsBATS_BIN="$(go env GOPATH)/src/github.com/sstephenson/bats/bin/bats""$BATS_BIN" testsmake/make test, which exercises the CLI against the standard Docker-based VinylDNS test environment where the fixtures are aligned with the data..github/go.ymlfrom Adding Endpoint for Zone Details in vinyldns-cli #109, adding Docker Compose and allowing the acceptance tests to run in GitHub Actions.Applicable Issues
Snyk-reported YAML DoS vulnerability via
gopkg.in/yaml.v2transitively pulled in bygithub.com/urfave/cli@v1.22.4. After this change,snyk testshows:✔ Tested 8 dependencies for known issues, no vulnerable paths found.