Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spegel/0.0.27-r0: cve remediation #35698

Merged
merged 2 commits into from
Dec 12, 2024

Conversation

octo-sts[bot]
Copy link
Contributor

@octo-sts octo-sts bot commented Dec 3, 2024

Automated commit attempted to bump quic-go dependnecy to remediate GHSA-px8v-pp82-rcvr. However the latest version of quic-go, also required another dependency (go-libp2p) to be upgraded.

The good news, upstream already made similar changes in main as part of: spegel-org/spegel#659, they just haven't made it into a release yet.


spegel/0.0.27-r0: fix GHSA-px8v-pp82-rcvr

Advisory data: https://github.com/wolfi-dev/advisories/blob/main/spegel.advisories.yaml

Copy link
Contributor Author

octo-sts bot commented Dec 3, 2024

Gen AI suggestions to solve the build error:

• Detected Error: Multiple compilation errors related to quic-go package compatibility, primarily:

unknown field Connection in struct literal of type http3.ClientConn
undefined: quic.VersionNumber

• Error Category: Dependency Version Incompatibility

• Failure Point: go/build step in the pipeline, specifically when compiling dependencies after the version bump

• Root Cause Analysis: The requested bump to quic-go v0.48.2 is incompatible with other dependencies, particularly webtransport-go and libp2p, due to breaking API changes in quic-go

• Suggested Fix:

  1. Remove the explicit bump of quic-go and let the dependency resolution handle it:
pipeline:
  - uses: git-checkout
    with:
      repository: https://github.com/spegel-org/spegel
      tag: v${{package.version}}
      expected-commit: 9237bce5f337fb5362984b5206f7dfb7fbf3aa5d

  # Remove the go/bump step entirely
  - uses: go/build
    with:
      packages: ./
      ldflags: "-s -w -extldflags '-static'"
      output: spegel

• Explanation: The forced bump to quic-go v0.48.2 is breaking compatibility with dependent packages. Removing the explicit version bump will allow Go's module system to resolve to compatible versions automatically based on the go.mod requirements of all dependencies.

• Additional Notes:

  • If a specific version of quic-go is required for security reasons, the entire dependency chain needs to be updated together
  • Consider checking spegel's upstream repository for their handling of these dependencies
  • The errors indicate API changes in quic-go that affect both webtransport-go and libp2p implementations

• References:

…st quic-go dependency, which remediates GHSA-px8v-pp82-rcvr. Upstream already made a similar change in main, but its not yet made it into a release.

Signed-off-by: Mark McCormick <[email protected]>
@octo-sts octo-sts bot added the bincapz/pass bincapz/pass Bincapz (aka. malcontent) scan didn't detect any CRITICALs on the scanned packages. label Dec 11, 2024
@mamccorm mamccorm enabled auto-merge (squash) December 11, 2024 18:40
@mamccorm mamccorm requested a review from a team December 11, 2024 18:40
@mamccorm mamccorm self-assigned this Dec 11, 2024
@mamccorm mamccorm merged commit ce44887 into main Dec 12, 2024
14 checks passed
@mamccorm mamccorm deleted the cve-spegel-75cf6a6492b533da61c59ef9a6604f00 branch December 12, 2024 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automated pr bincapz/pass bincapz/pass Bincapz (aka. malcontent) scan didn't detect any CRITICALs on the scanned packages. GHSA-px8v-pp82-rcvr go/bump request-cve-remediation spegel/0.0.27-r0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants