fix(deps): bump golang.org/x/crypto to v0.56.0 for CVE-2026-78662 and CVE-2026-56855 - #854
Merged
Merged
Conversation
… CVE-2026-56855 Docker Scout is failing on v8 and on every open PR whose image is rescanned, because two CVEs were disclosed against golang.org/x/crypto after the bump to v0.55.0 in #848: golang.org/x/crypto 0.55.0 CVE-2026-78662 affected <0.56.0 fixed 0.56.0 CVE-2026-56855 affected <0.56.0 fixed 0.56.0 Both are reported with UNSPECIFIED severity, but the scan runs with only-fixed: true and exit-code: true, so any fixable advisory fails the job. This also raises the go directive from 1.25.10 to 1.26.0, which is not optional: golang.org/x/crypto v0.56.0 declares go 1.26.0 as its own minimum. The repo already builds and tests against 1.26.7 and 1.27.0, so both supported versions satisfy it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ctive Raising the go directive to 1.26.0 makes staticcheck enforce the Go 1.26 deprecation of httputil.ReverseProxy.Director, which fails make lint on all four unit-test jobs. Suppressed rather than migrated, deliberately. Rewrite is not a drop-in rename: it does not append X-Forwarded-* headers unless SetXForwarded() is called, so switching changes what the client-side goals proxy sends upstream. That deserves its own PR and its own review rather than riding along on a CVE bump. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Comment on lines
437
to
440
| Director: func(req *http.Request) { //nolint:staticcheck // deprecated; see comment above | ||
| url := req.URL | ||
| url.Scheme = r.clientSideSDKBaseURL.Scheme | ||
| url.Host = r.clientSideSDKBaseURL.Host |
There was a problem hiding this comment.
Semgrep identified an issue in your code:
ReverseProxy can remove headers added by Director. Consider using ReverseProxy.Rewrite instead of ReverseProxy.Director.
To resolve this comment:
🔧 No guidance has been designated for this issue. Fix according to your organization's approved methods.
💬 Ignore this finding
Reply with Semgrep commands to ignore this finding.
/fp <comment>for false positive/ar <comment>for acceptable risk/other <comment>for all other reasons
Alternatively, triage in Semgrep AppSec Platform to ignore the finding created by reverseproxy-director.
You can view more details about this finding in the Semgrep AppSec Platform.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jsonbailey
approved these changes
Sep 3, 2026
keelerm84
pushed a commit
that referenced
this pull request
Sep 17, 2026
🤖 I have created a release *beep* *boop* --- ## [8.22.0](v8.21.0...v8.22.0) (2026-09-16) ### Features * Adopt go-server-sdk v7.17.0 so an upstream 401 retries ([#856](#856)) ([e152af7](e152af7)) * Back off big segment synchronization on a rejected SDK key ([#857](#857)) ([6ede85b](6ede85b)) * Classify transport failures as normal, including certificate failures ([#873](#873)) ([c3b6850](c3b6850)) * Keep retrying a rejected auto-configuration key ([#866](#866)) ([4bf3bb9](4bf3bb9)) * Report the auto-configuration stream's health in the status resource ([#870](#870)) ([5c1e3ee](5c1e3ee)) ### Bug Fixes * **autoconfig:** refresh stored environment defaults on update (SEC-9484) ([#842](#842)) ([e04e3e2](e04e3e2)) * **deps:** bump golang.org/x/crypto to v0.55.0 for CVE-2026-56854 ([#848](#848)) ([360d624](360d624)) * **deps:** bump golang.org/x/crypto to v0.56.0 for CVE-2026-78662 and CVE-2026-56855 ([#854](#854)) ([6d5d346](6d5d346)) * **deps:** bump supported Go versions to 1.27.0 and 1.26.7 ([#837](#837)) ([9b4fb46](9b4fb46)) * **deps:** bump supported Go versions to 1.27.1 and 1.26.8 ([#852](#852)) ([4b06ed6](4b06ed6)) * emit Vary: Origin on CORS responses (SEC-9501) ([#844](#844)) ([78a8f05](78a8f05)) * Report an incomplete DynamoDB auto-config cache write ([#874](#874)) ([0964dc0](0964dc0)) * **security:** redact all credential-bearing URL components in status dbServer ([#846](#846)) ([20effc5](20effc5)) * **streams:** treat a nil replay result as no event instead of panicking ([#845](#845)) ([7d7eace](7d7eace)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.
Bumps
golang.org/x/cryptofrom v0.55.0 to v0.56.0 to clear two CVEs disclosed after #848.Why
Docker Scout Scanis currently failing onv8itself (tip31bc9637, scanned 2026-09-03), and on any open PR whose image gets rescanned. PRs that still show green only did so because their scans ran on 2026-09-01, before these advisories landed.Both are UNSPECIFIED severity, but
.github/workflowsruns the scan withonly-fixed: trueandexit-code: true, so any advisory with an available fix fails the job.Note on the
godirectiveThis also raises
gofrom1.25.10to1.26.0. That is not optional —golang.org/x/crypto v0.56.0declaresgo 1.26.0as its own minimum, so the bump is required to build. The repo builds and tests against1.26.7and1.27.0(.github/variables/go-versions.env), both of which satisfy it, so no supported configuration is dropped.Verification
go build ./...cleango vet ./...clean (no new findings)go test ./...— all 22 packages passRequirements
🤖 Generated with Claude Code
Note
Overview
Security and toolchain update so Docker Scout and CI (
only-fixed: true,exit-code: true) pass again after advisories ongolang.org/x/crypto< 0.56.0 (CVE-2026-78662, CVE-2026-56855).go.modraisesgolang.org/x/cryptofrom v0.55.0 to v0.56.0 and thegodirective from 1.25.10 to 1.26.0 (required because v0.56.0 declares Go 1.26.0 as its minimum).go.sumis updated for the new crypto module version.In
relay/relay.go, a//nolint:staticcheckis added on the client-sidehttputil.ReverseProxyDirectorcallback, with a note that migrating toRewritewould alter X-Forwarded-* handling—no proxy behavior change, only silencing a new or stricter lint on the deprecated field.Reviewed by Cursor Bugbot for commit e03afb6. Bugbot is set up for automated code reviews on this repo. Configure here.