Skip to content

chore(deps): update security updates [security] - #207

Merged
flemzord merged 1 commit into
mainfrom
renovate/security
Sep 10, 2026
Merged

flemzord merged 1 commit into
mainfrom
renovate/security

Conversation

@NumaryBot

@NumaryBot NumaryBot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
golang.org/x/crypto indirect minor v0.55.0 -> v0.56.0
google.golang.org/grpc indirect patch v1.83.1 -> v1.83.2

Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh

CVE-2026-78662 / GO-2026-6354

More information

Details

Previously, a channel registered in the mux's chanList is not usable until it is established. A malicious peer was able flood the channel's incomingRequests, deadlocking the entire connection.

Now, we add an atomic established state, set when a channel becomes usable. Until such a time, handlePacket drops every packet other than the open confirmation/failure, without blocking and without tearing down the connection.

Severity

Unknown

References

This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).


Prevent DoS on deadlocked established channel in golang.org/x/crypto/ssh

CVE-2026-56855 / GO-2026-6355

More information

Details

Previously, after a channel has been established, a malicious peer could send crafted messages that would deadlock the entire connection.

Now, we handle all RFC 4254 channel messages; global requests are handled explicitly. Then, treat all other messages as a protocol error and tear the connection down instead of buffering and blocking.

Severity

Unknown

References

This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).


gRPC-Go xDS servers: Denial of Service (DoS) via crash due to missing :authority and Host headers

CVE-2026-84445 / GHSA-2v4p-qf9q-27wj

More information

Details

A vulnerability exists in gRPC-Go servers configured with xds.NewGRPCServer() where a crafted request missing both :authority and Host headers can cause a server panic, resulting in a Denial of Service (DoS).

Servers built with xds.NewGRPCServer install an xDS routing interceptor on every RPC. This interceptor looks up the request’s :authority header to pick a virtual host. The HTTP/2 server transport previously accepted requests that had neither :authority nor Host. When this happened, the xDS routing interceptor attempted to access the first element of an empty slice of authorities, leading to an index out of bounds panic. Since the per-RPC goroutine does not recover from panics, the entire server process would terminate.

This panic occurs in the interceptor pipeline, meaning the transport credentials handshake (TLS, mTLS, or ALTS) and HTTP/2 connection establishment must complete successfully before the crafted request can reach this logic.

  • Insecure/Standard TLS: If the server permits insecure (plaintext) connections or standard credentials (where client certs are not checked), any unauthenticated remote attacker can trigger the crash.
  • mTLS / ALTS: If strict transport-level authentication is enforced at the network edge or transport layer (e.g., requiring a valid client certificate), the attacker must possess valid transport credentials to initiate the stream and trigger the panic.
Impact

An attacker can cause a complete outage of the gRPC server by sending a request missing both :authority and Host headers, provided they can successfully establish a transport connection.

Patches

The issue has been addressed in master (and backported to 1.83.2 and 1.82.2). The fix updates the HTTP/2 transport layer to reject requests missing both :authority and Host headers early, maintaining consistency with and other gRPC language implementations.

Severity

High

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

grpc/grpc-go (google.golang.org/grpc)

v1.83.2: Release 1.83.2

Compare Source

Security


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@NumaryBot
NumaryBot enabled auto-merge (squash) September 3, 2026 02:19
@NumaryBot
NumaryBot requested a review from a team September 3, 2026 02:20
@NumaryBot

NumaryBot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: undefined
Command failed: just pre-commit
go: downloading go1.26.0 (linux/amd64)
go: downloading github.com/formancehq/go-libs/v3 v3.3.0
go: downloading github.com/go-chi/chi/v5 v5.3.0
go: downloading github.com/pkg/errors v0.9.1
go: downloading github.com/go-playground/validator/v10 v10.24.0
go: downloading go.uber.org/fx v1.24.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/go-chi/chi v4.1.2+incompatible
go: downloading github.com/formancehq/formance-sdk-go/v5 v5.0.1
go: downloading github.com/spf13/cobra v1.10.2
go: downloading github.com/uptrace/bun v1.2.18
go: downloading go.temporal.io/sdk v1.41.1
go: downloading golang.org/x/oauth2 v0.36.0
go: downloading go.temporal.io/api v1.62.5
go: downloading go.opentelemetry.io/otel v1.44.0
go: downloading github.com/ThreeDotsLabs/watermill v1.5.1
go: downloading github.com/formancehq/go-libs/v5 v5.7.0
go: downloading go.uber.org/mock v0.6.0
go: downloading github.com/expr-lang/expr v1.17.7
go: downloading github.com/google/uuid v1.6.0
go: downloading go.opentelemetry.io/otel/trace v1.44.0
go: downloading github.com/iancoleman/strcase v0.3.0
go: downloading github.com/stretchr/testify v1.12.1
go: downloading github.com/hashicorp/go-retryablehttp v0.7.8
go: downloading github.com/spf13/pflag v1.0.10
go: downloading github.com/zitadel/oidc/v2 v2.12.2
go: downloading go.uber.org/zap v1.27.1
go: downloading go.uber.org/dig v1.19.0
go: downloading github.com/riandyrn/otelchi v0.12.2
go: downloading go.uber.org/multierr v1.11.0
go: downloading golang.org/x/sys v0.47.0
go: downloading github.com/aws/aws-sdk-go-v2 v1.41.5
go: downloading github.com/aws/aws-sdk-go-v2/config v1.32.12
go: downloading github.com/aws/aws-sdk-go-v2/feature/rds/auth v1.6.20
go: downloading github.com/go-sql-driver/mysql v1.9.3
go: downloading github.com/jackc/pgx/v5 v5.9.2
go: downloading github.com/uptrace/bun/dialect/pgdialect v1.2.18
go: downloading github.com/uptrace/bun/extra/bunotel v1.2.18
go: downloading github.com/xo/dburl v0.24.2
go: downloading github.com/golang-jwt/jwt/v5 v5.3.1
go: downloading github.com/lestrrat-go/jwx v1.2.31
go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.66.0
go: downloading go.opentelemetry.io/otel/sdk v1.44.0
go: downloading go.opentelemetry.io/contrib/instrumentation/host v0.66.0
go: downloading go.opentelemetry.io/contrib/instrumentation/runtime v0.66.0
go: downloading go.opentelemetry.io/contrib/propagators/b3 v1.41.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.43.0
go: downloading go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.41.0
go: downloading go.opentelemetry.io/otel/metric v1.44.0
go: downloading go.opentelemetry.io/otel/sdk/metric v1.44.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0
go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0
go: downloading go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.41.0
go: downloading github.com/IBM/sarama v1.46.3
go: downloading github.com/ThreeDotsLabs/watermill-aws v1.0.1
go: downloading github.com/ThreeDotsLabs/watermill-http/v2 v2.3.1
go: downloading github.com/ThreeDotsLabs/watermill-kafka/v3 v3.1.2
go: downloading github.com/ThreeDotsLabs/watermill-nats/v2 v2.1.3
go: downloading github.com/aws/aws-msk-iam-sasl-signer-go v1.0.4
go: downloading github.com/aws/aws-sdk-go-v2/credentials v1.19.12
go: downloading github.com/aws/aws-sdk-go-v2/service/sns v1.39.14
go: downloading github.com/aws/aws-sdk-go-v2/service/sqs v1.42.24
go: downloading github.com/aws/smithy-go v1.24.2
go: downloading github.com/nats-io/nats.go v1.49.0
go: downloading github.com/xdg-go/scram v1.2.0
go: downloading go.temporal.io/sdk/contrib/opentelemetry v0.7.0
go: downloading github.com/gabriel-vasile/mimetype v1.4.8
go: downloading github.com/go-playground/universal-translator v0.18.1
go: downloading github.com/leodido/go-urn v1.4.0
go: downloading golang.org/x/crypto v0.56.0
go: downloading golang.org/x/text v0.41.0
go: downloading github.com/invopop/jsonschema v0.13.0
go: downloading github.com/jackc/pgxlisten v0.0.0-20250802141604-12b92425684c
go: downloading github.com/hashicorp/go-hclog v1.6.3
go: downloading github.com/sirupsen/logrus v1.9.4
go: downloading github.com/uptrace/opentelemetry-go-extra/otellogrus v0.3.2
go: downloading github.com/nexus-rpc/sdk-go v0.6.0
go: downloading google.golang.org/protobuf v1.36.11
go: downloading github.com/go-logr/logr v1.4.3
go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa
go: downloading google.golang.org/grpc v1.83.2
go: downloading dario.cat/mergo v1.0.2
go: downloading github.com/hashicorp/go-cleanhttp v0.5.2
go: downloading gopkg.in/go-jose/go-jose.v2 v2.6.3
go: downloading github.com/gorilla/mux v1.8.1
go: downloading github.com/gorilla/schema v1.4.1
go: downloading github.com/muhlemmer/httpforwarded v0.1.0
go: downloading github.com/rs/cors v1.11.1
go: downloading github.com/muhlemmer/gu v0.3.1
go: downloading github.com/felixge/httpsnoop v1.0.4
go: downloading github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20
go: downloading github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6
go: downloading github.com/aws/aws-sdk-go-v2/service/signin v1.0.8
go: downloading github.com/aws/aws-sdk-go-v2/service/sso v1.30.13
go: downloading github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17
go: downloading github.com/aws/aws-sdk-go-v2/service/sts v1.41.9
go: downloading filippo.io/edwards25519 v1.2.0
go: downloading github.com/uptrace/opentelemetry-go-extra/otelsql v0.3.2
go: downloading github.com/shirou/gopsutil/v4 v4.26.2
go: downloading github.com/lestrrat-go/backoff/v2 v2.0.8
go: downloading github.com/lestrrat-go/blackmagic v1.0.2
go: downloading github.com/lestrrat-go/httpcc v1.0.1
go: downloading github.com/lestrrat-go/iter v1.0.2
go: downloading github.com/lestrrat-go/option v1.0.1
go: downloading go.opentelemetry.io/proto/otlp v1.10.0
go: downloading github.com/lithammer/shortuuid/v3 v3.0.7
go: downloading github.com/oklog/ulid v1.3.1
go: downloading github.com/go-chi/render v1.0.3
go: downloading github.com/dnwe/otelsarama v0.0.0-20240308230250-9388d9d40bc0
go: downloading github.com/hashicorp/go-multierror v1.1.1
go: downloading github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.21
go: downloading github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
go: downloading github.com/eapache/go-resiliency v1.7.0
go: downloading github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3
go: downloading github.com/eapache/queue v1.1.0
go: downloading github.com/jcmturner/gofork v1.7.6
go: downloading github.com/jcmturner/gokrb5/v8 v8.4.4
go: downloading github.com/klauspost/compress v1.18.7
go: downloading github.com/pierrec/lz4/v4 v4.1.26
go: downloading github.com/rcrowley/go-metrics v0.0.0-20250401214520-65e299d6c5c9
go: downloading golang.org/x/net v0.58.0
go: downloading github.com/xdg-go/stringprep v1.0.4
go: downloading github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0
go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa
go: downloading github.com/gogo/protobuf v1.3.2
go: downloading github.com/go-playground/locales v0.14.1
go: downloading github.com/nats-io/nuid v1.0.1
go: downloading github.com/nats-io/nkeys v0.4.15
go: downloading github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc
go: downloading github.com/jinzhu/inflection v1.0.0
go: downloading github.com/puzpuzpuz/xsync/v3 v3.5.1
go: downloading github.com/vmihailenco/msgpack/v5 v5.4.1
go: downloading github.com/jackc/pgerrcode v0.0.0-20250907135507-afb5586c32a6
go: downloading github.com/jackc/pgpassfile v1.0.0
go: downloading github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761
go: downloading github.com/wk8/go-ordered-map/v2 v2.1.8
go: downloading github.com/fatih/color v1.18.0
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading github.com/uptrace/opentelemetry-go-extra/otelutil v0.3.2
go: downloading github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a
go: downloading github.com/golang/mock v1.7.0-rc.1
go: downloading github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3
go: downloading github.com/robfig/cron v1.2.0
go: downloading golang.org/x/sync v0.22.0
go: downloading golang.org/x/time v0.15.0
go: downloading github.com/go-logr/stdr v1.2.2
go: downloading go.opentelemetry.io/auto/sdk v1.2.1
go: downloading github.com/cespare/xxhash/v2 v2.3.0
go: downloading go.yaml.in/yaml/v3 v3.0.5
go: downloading github.com/gorilla/securecookie v1.1.2
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7
go: downloading github.com/jackc/puddle/v2 v2.2.2
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.21
go: downloading github.com/tklauser/go-sysconf v0.3.16
go: downloading github.com/cenkalti/backoff/v5 v5.0.3
go: downloading github.com/ajg/form v1.7.1
go: downloading github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.21
go: downloading github.com/hashicorp/errwrap v1.1.0
go: downloading github.com/golang/snappy v0.0.4
go: downloading github.com/jcmturner/dnsutils/v2 v2.0.0
go: downloading github.com/hashicorp/go-uuid v1.0.3
go: downloading github.com/vmihailenco/tagparser/v2 v2.0.0
go: downloading github.com/bahlo/generic-list-go v0.2.0
go: downloading github.com/buger/jsonparser v1.1.2
go: downloading github.com/mailru/easyjson v0.9.2
go: downloading go.opentelemetry.io/otel/log v0.17.0
go: downloading github.com/mattn/go-colorable v0.1.14
go: downloading github.com/stretchr/objx v0.5.3
go: downloading github.com/getkin/kin-openapi v0.144.0
go: downloading github.com/go-jose/go-jose/v4 v4.1.4
go: downloading github.com/zitadel/oidc/v3 v3.45.3
go: downloading github.com/zitadel/schema v1.3.2
go: downloading github.com/tklauser/numcpus v0.11.0
go: downloading github.com/jcmturner/rpc/v2 v2.0.3
go: downloading github.com/jcmturner/aescts/v2 v2.0.0
go: downloading github.com/santhosh-tekuri/jsonschema/v6 v6.0.2
go: downloading github.com/go-openapi/jsonpointer v0.22.5
go: downloading github.com/oasdiff/yaml v0.1.1
go: downloading github.com/oasdiff/yaml3 v0.0.14
go: downloading github.com/go-openapi/swag/jsonname v0.25.5
go: downloading go.uber.org/goleak v1.3.0
go: downloading github.com/go-playground/assert/v2 v2.2.0
go: downloading github.com/nats-io/nats-server/v2 v2.12.6
go: downloading gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
go: downloading github.com/inconshreveable/mousetrap v1.1.0
go: downloading github.com/onsi/gomega v1.39.1
go: downloading github.com/ory/dockertest/v3 v3.12.0
go: downloading github.com/onsi/ginkgo/v2 v2.28.1
go: downloading github.com/uptrace/bun/extra/bundebug v1.2.15
go: downloading github.com/google/go-cmp v0.7.0
go: downloading github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0
go: downloading go.opentelemetry.io/otel/metric/x v0.66.0
go: downloading github.com/fortytw2/leaktest v1.3.0
go: downloading github.com/xdg-go/pbkdf2 v1.0.0
go: downloading github.com/kr/pretty v0.3.1
go: downloading github.com/cenkalti/backoff/v4 v4.3.0
go: downloading github.com/lib/pq v1.10.9
go: downloading github.com/Microsoft/go-winio v0.6.2
go: downloading github.com/docker/go-units v0.5.0
go: downloading github.com/jeremija/gosubmit v0.2.8
go: downloading github.com/goccy/go-json v0.10.4
go: downloading github.com/lufia/plan9stats v0.0.0-20260216142805-b3301c5f2a88
go: downloading github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55
go: downloading github.com/jcmturner/goidentity/v6 v6.0.1
go: downloading github.com/docker/cli v29.3.0+incompatible
go: downloading github.com/kr/text v0.2.0
go: downloading github.com/rogpeppe/go-internal v1.14.1
go: downloading github.com/opencontainers/runc v1.3.6
go: downloading github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5
go: downloading github.com/moby/term v0.5.2
go: downloading github.com/opencontainers/image-spec v1.1.1
go: downloading github.com/golang/protobuf v1.5.4
go: downloading github.com/google/gofuzz v1.2.0
go: downloading github.com/ebitengine/purego v0.10.0
go: downloading github.com/yusufpapurcu/wmi v1.2.4
go: downloading github.com/antithesishq/antithesis-sdk-go v0.6.0
go: downloading github.com/minio/highwayhash v1.0.4-0.20251030100505-070ab1a87a76
go: downloading github.com/nats-io/jwt/v2 v2.8.1
go: downloading github.com/gkampitakis/go-snaps v0.5.15
go: downloading github.com/joshdk/go-junit v1.0.0
go: downloading github.com/mfridman/tparse v0.18.0
go: downloading github.com/Masterminds/semver/v3 v3.4.0
go: downloading github.com/docker/go-connections v0.6.0
go: downloading github.com/containerd/continuity v0.4.5
go: downloading github.com/creack/pty v1.1.24
go: downloading github.com/opencontainers/go-digest v1.0.0
go: downloading github.com/moby/sys/user v0.4.0
go: downloading github.com/go-openapi/testify/v2 v2.4.0
go: downloading github.com/dlclark/regexp2 v1.11.0
go: downloading github.com/go-ole/go-ole v1.3.0
go: downloading github.com/google/go-tpm v0.9.8
go: downloading github.com/go-task/slim-sprig/v3 v3.0.0
go: downloading golang.org/x/tools v0.49.0
go: downloading github.com/gkampitakis/ciinfo v0.3.2
go: downloading github.com/gkampitakis/go-diff v1.3.2
go: downloading github.com/goccy/go-yaml v1.18.0
go: downloading github.com/maruel/natural v1.1.1
go: downloading github.com/tidwall/gjson v1.18.0
go: downloading github.com/tidwall/pretty v1.2.1
go: downloading github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c
go: downloading github.com/go-viper/mapstructure/v2 v2.5.0
go: downloading github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
go: downloading github.com/moby/moby/api v1.54.0
go: downloading github.com/moby/moby/client v0.3.0
go: downloading gotest.tools/v3 v3.5.2
go: downloading gonum.org/v1/gonum v0.17.0
go: downloading github.com/google/pprof v0.0.0-20260302011040-a15ffb7f9dcc
go: downloading github.com/tidwall/sjson v1.2.5
go: downloading github.com/tidwall/match v1.1.1
go: downloading github.com/xeipuuv/gojsonschema v1.2.0
go: downloading github.com/moby/docker-image-spec v1.3.1
go: downloading github.com/containerd/errdefs v1.0.0
go: downloading github.com/containerd/errdefs/pkg v0.3.0
go: downloading github.com/distribution/reference v0.6.0
go: downloading golang.org/x/mod v0.40.0
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: downloading pgregory.net/rapid v1.2.0
go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
Error: can't load config: the Go language version (go1.25) used to build golangci-lint is lower than the targeted Go version (1.26.0)
The command is terminated due to an error: can't load config: the Go language version (go1.25) used to build golangci-lint is lower than the targeted Go version (1.26.0)
error: Recipe `lint` failed on line 10 with exit code 3

@NumaryBot

NumaryBot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

🛑 Changes requested — automated review

The dependency update raises the module requirement to Go 1.26 without updating the repository's pinned Go 1.25 Nix development toolchain.

@NumaryBot NumaryBot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NumaryBot posted 1 new inline finding.

Summary: #207 (comment)

Comment thread go.mod
module github.com/formancehq/orchestration

go 1.25.0
go 1.26.0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 [blocker] Update the Nix Go toolchain with the module directive

The module now requires Go 1.26, but flake.nix still pins goVersion = 25. Consequently, the repository's nix develop --command just ... CI and development workflow must download an undeclared Go 1.26 toolchain, and fails outright when toolchain downloads are unavailable or GOTOOLCHAIN=local; update the pinned Nix toolchain as part of this upgrade.

flemzord
flemzord previously approved these changes Sep 4, 2026
@NumaryBot
NumaryBot requested a review from a team September 5, 2026 02:29
@shipfox-ai

shipfox-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

This PR bumps golang.org/x/crypto from v0.55.0 to v0.56.0 (go.mod, go.sum) and, as part of the same change, raises the module's go directive from 1.25.0 to 1.26.0. The dependency update itself is correct and internally consistent. However, the Go directive raise leaves the repo's pinned Nix toolchain out of sync, which breaks the documented local dev workflow (use flake via .envrcjust pre-commit). Recommendation: request changes — a one-line companion update to flake.nix is needed.

Standards

HARD — Pinned Nix toolchain (Go 1.25) no longer satisfies the module's go 1.26.0 directive

  • go.mod:3 now declares go 1.26.0, but flake.nix:15 still pins goVersion = 25 (used at flake.nix:53 to select go_1_25 for the dev shell, which .envrc activates via use flake).
  • Impact: in the nix develop shell, golangci-lint (built with Go 1.25) hard-fails against a module targeting 1.26 — "the Go language version (go1.25) used to build golangci-lint is lower than the targeted Go version (1.26.0)" — so just lint and therefore just pre-commit (Justfile:8–9) fail outright. Additionally, plain go commands in the shell must download the go1.26.0 toolchain on the fly (GOTOOLCHAIN=auto) or fail with GOTOOLCHAIN=local, defeating the flake's toolchain pin.
  • Fix: set goVersion = 26 in flake.nix in the same change (and refresh flake.lock if needed).
  • Note: CI (.github/workflows/main.yml) uses shared formancehq/ci workflows and is unaffected; this breaks the developer environment only.

No confirmed baseline-smell findings. The go directive raise and the dependency bump are one logical change (standard for a golang dependency update); no Fowler smell applies to a two-file, machine-generated diff.

Spec

The literal ask — update golang.org/x/crypto to v0.56.0 — is fully implemented: go.mod requires v0.56.0 // indirect and go.sum:528–529 carries the matching v0.56.0 hashes, with the v0.55.0 entries removed. No other behaviour changed.

One partial finding: the companion go directive raise to 1.26.0 is left incomplete — the repo's pinned dev toolchain (flake.nix:15, goVersion = 25) was not updated to match. Whether the directive raise was strictly forced by x/crypto v0.56.0's own requirement could not be verified offline, but either way the toolchain pin must be kept in sync (see the Standards section for the concrete breakage and fix).

Reviewed independently by GLM (glm-5.3-flash) and DeepSeek (deepseek-v4-pro-0813) via Shipfox; verified and synthesized by GLM.

@NumaryBot NumaryBot changed the title chore(deps): update module golang.org/x/crypto to v0.56.0 [security] chore(deps): update security updates [security] Sep 9, 2026
@shipfox-ai

shipfox-ai Bot commented Sep 9, 2026

Copy link
Copy Markdown

This PR correctly delivers the two requested security bumps — golang.org/x/crypto v0.55.0 → v0.56.0 (CVE-2026-78662 / GO-2026-6354 and CVE-2026-56855 / GO-2026-6355) and google.golang.org/grpc v1.83.1 → v1.83.2 (GHSA-2v4p-qf9q-27wj) — with go.mod and go.sum fully consistent and no stale versions remaining. However, the diff also raises the module's go directive from 1.25.10 to 1.26.0, which is not requested in the PR body and leaves the repo's Nix-pinned Go toolchain (still 1.25) out of sync, breaking the documented dev workflow. Since automerge is enabled on this PR, I'm recommending request changes so this one-line inconsistency is fixed (or the directive bump reverted) before the security fixes land; the bumps themselves are correct and should be re-landed promptly.

Standards

1. go directive raised to 1.26.0 while the Nix-pinned toolchain stays on Go 1.25 — go.mod:3 vs flake.nix:15

The diff changes -go 1.25.10+go 1.26.0 in go.mod:3, but the repo pins its dev toolchain via Nix: flake.nix:15 sets goVersion = 25 and flake.nix:54 selects go_1_${toString goVersion} (i.e. go_1_25); .envrc activates this flake with use flake . --impure. The impact is concrete:

  • Inside nix develop, just lint (part of just pre-commit, Justfile:8Justfile:11, golangci-lint run) hard-fails because golangci-lint is built with Go 1.25 against a module now targeting 1.26.0 ("the Go language version (go1.25) used to build golangci-lint is lower than the targeted Go version (1.26.0)").
  • Plain go commands in the shell must auto-download the undeclared go1.26.0 toolchain (GOTOOLCHAIN=auto default) or fail outright under GOTOOLCHAIN=local, defeating the flake's toolchain pin.

Fix: set goVersion = 26 in flake.nix:15 in this change (refreshing flake.lock if needed), or revert the go directive bump if the toolchain upgrade is not intended yet. The two dependency bumps themselves are internally consistent and need no changes.

(The dependency-bump hunks in go.mod/go.sum add no hand-written code, so no other baseline smells apply.)

Spec

1. Unrequested go 1.26.0 toolchain directive bump — go.mod:3

The PR body's update table lists exactly two updates: golang.org/x/crypto | indirect | minor | v0.55.0 -> v0.56.0 and google.golang.org/grpc | indirect | patch | v1.83.1 -> v1.83.2. The go directive change is not among them, and neither of the three cited CVE fixes requires a Go toolchain jump (both x/crypto fixes are in x/crypto/ssh shipped in v0.56.0; the grpc fix is backported to v1.83.2, which is the version chosen). This is scope creep beyond the stated spec — most likely a Renovate preset side effect — and, as covered under Standards, it leaves the pinned dev toolchain internally inconsistent. Either justify and complete it (flake.nix update) or drop it.

Otherwise the spec is fully satisfied: both requested bumps are present and complete, go.sum hash lines match the new versions with no stale v0.55.0/v1.83.1 entries, and no unrelated files were touched.


Reviewed independently by GLM (glm-5.3-flash) and DeepSeek (deepseek-v4-pro-0813) via Shipfox; verified and synthesized by GLM.

@flemzord
flemzord merged commit 239db9e into main Sep 10, 2026
4 of 12 checks passed
@flemzord
flemzord deleted the renovate/security branch September 10, 2026 09:52
Quentin-David-24 added a commit that referenced this pull request Sep 11, 2026
#207 pulled in golang.org/x/crypto v0.56.0, which declares `go 1.26.0` in
its own go.mod and so forced this module's go directive from 1.25.10 to
1.26.0. Nothing bumped the Nix toolchain to match, and both CI jobs run
inside the dev shell, so main has been red since:

  Dirty: can't load config: the Go language version (go1.25) used to build
         golangci-lint is lower than the targeted Go version (1.26.0)
  Tests: compile: version "go1.26.0" does not match go tool version
         "go1.25.2" (building ./cmd under -race)

Reverting the go directive is not an option without dropping the security
patch, and the locked nixpkgs (Nov 2025) has no go_1_26 attribute, so the
input is updated alongside the pin.

That update also moves golangci-lint 2.6.0 -> 2.13.2, whose staticcheck
reports the Temporal SDK SearchAttributes deprecation on five pre-existing
call sites. Migrating to TypedSearchAttributes changes how attributes are
registered and searched, which does not belong in a toolchain bump, so
.golangci.yml excludes just that one diagnostic and it is tracked
separately.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

2 participants