Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: golang/crypto
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.55.0
Choose a base ref
...
head repository: golang/crypto
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.57.0
Choose a head ref
  • 12 commits
  • 17 files changed
  • 6 contributors

Commits on Aug 17, 2026

  1. acme: use crypto.SignMessage instead of calling (crypto.Signer).Sign

    crypto.SignMessage allows using crypto.Signers that only usefully
    implement SignMessage to be used for the ACME account key.
    
    This would be useful for opening up integrations with opinionated
    remote signing APIs that don't support pre-hashing.
    
    Fixes golang/go#80877
    
    Change-Id: I86bb76cf5865d3d2b8606a6dbd813cbb26447c86
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/815340
    Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
    Reviewed-by: Filippo Valsorda <filippo@golang.org>
    Reviewed-by: Sean Liao <sean@liao.dev>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Carlos Amedee <carlos@golang.org>
    tangrs authored and cpu committed Aug 17, 2026
    Configuration menu
    Copy the full SHA
    e0a54fd View commit details
    Browse the repository at this point in the history
  2. acme: add crypto.SignMessage test coverage

    This commit updates the pre-existing TestJWSEncodeJSONCustom test to
    also verify JWS signature production works with a crypto.MessageSigner.
    
    Change-Id: I5156cb4da9a7feee98340ff4fb75848da5827055
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/815480
    Auto-Submit: Daniel McCarney <daniel@binaryparadox.net>
    Reviewed-by: Filippo Valsorda <filippo@golang.org>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Cherry Mui <cherryyz@google.com>
    Reviewed-by: Carlos Amedee <carlos@golang.org>
    cpu committed Aug 17, 2026
    Configuration menu
    Copy the full SHA
    46efc8b View commit details
    Browse the repository at this point in the history
  3. ssh: correctly ignore pre-banner lines

    Reading the peer's benner in readVersion() was incorrectly counting
    lines sent by the server before the actual `SSH-2.0` banner against
    the line limit for the banner itself.
    
    This is incorrect per RFC 4253 section 4.2, where the limit of 255
    characters is written to apply only to the `SSH-` banner string
    itself.
    
    This instead limits pre-banner lines to 255 characters each but
    instead allows a maximum of 1024 lines.
    
    Change-Id: Ief014bb3413e26e8d2077d3eb204ceaea9dc9444
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/811320
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Nicola Murino <nicola.murino@gmail.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
    Reviewed-by: Carlos Amedee <carlos@golang.org>
    djmdjm authored and gopherbot committed Aug 17, 2026
    Configuration menu
    Copy the full SHA
    593c81a View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2026

  1. all: upgrade go directive to at least 1.26.0 [generated]

    By now Go 1.27.0 has been released, and Go 1.25 is no longer supported
    per the Go Release Policy (see https://go.dev/doc/devel/release#policy).
    
    See https://go.dev/doc/godebug#go-126 for GODEBUG setting changes
    relevant to Go 1.26.
    
    For golang/go#69095.
    
    [git-generate]
    (cd . && go get go@1.26.0 && go mod tidy)
    (cd x509roots/fallback && go get go@1.26.0 && go mod tidy)
    
    Change-Id: I54826e019edd4e12ad821915b1d102de719bfb31
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/817981
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Reviewed-by: Carlos Amedee <carlos@golang.org>
    Auto-Submit: Gopher Robot <gobot@golang.org>
    gopherbot committed Aug 19, 2026
    Configuration menu
    Copy the full SHA
    c757c98 View commit details
    Browse the repository at this point in the history
  2. ssh: synchronize unexpected response test

    Wait for an ordered channel request after sending the unsolicited
    response flood. This ensures that the client mux has discarded the
    entire flood before SendRequest opens its response gate, avoiding
    confusion between an in-flight unsolicited response and the expected
    reply.
    
    This fixes TestChannelUnexpectedResponsesDiscarded from flaking, where
    otherwise running 1000000 iterations of the test with GOMAXPROCS=16
    produced ~15 distinct failures of the form  "expected success reply".
    
    Change-Id: Ic1125c1f44bd919a5cf32b889d331bbc94c06c25
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/817140
    Reviewed-by: Neal Patel <neal@golang.org>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Neal Patel <nealpatel@google.com>
    Reviewed-by: Nicola Murino <nicola.murino@gmail.com>
    Auto-Submit: Daniel McCarney <daniel@binaryparadox.net>
    Reviewed-by: David Chase <drchase@google.com>
    cpu authored and gopherbot committed Aug 19, 2026
    Configuration menu
    Copy the full SHA
    82adefa View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2026

  1. ssh/knownhosts: compare only public key portions for revocation

    Revocation matching compared full marshaled key blobs, so a @Revoked
    line containing a plain host key did not revoke a certificate
    certifying that key: when the server presented such a certificate,
    IsRevoked only matched the whole certificate blob or the CA key, and
    verification succeeded even though the underlying host key was revoked.
    
    OpenSSH's check_key_not_revoked compares keys with sshkey_equal_public,
    which considers only the public portions and explicitly allows
    comparisons between certificates and plain keys. Match that behavior by
    normalizing both @Revoked entries and lookups to the underlying public
    key: for a certificate, the certified key rather than the certificate
    blob. This also makes a @Revoked line containing a certificate revoke
    the plain key it certifies
    
    Change-Id: I3029d59e68fb01f2340763e2eae25cac23c6193d
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/816841
    Reviewed-by: Filippo Valsorda <filippo@golang.org>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: David Chase <drchase@google.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    drakkan committed Aug 23, 2026
    Configuration menu
    Copy the full SHA
    71488c4 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2026

  1. x509roots/fallback: update bundle

    This is an automated CL which updates the NSS root bundle.
    
    [git-generate]
    go generate ./x509roots
    
    Change-Id: I3be04cd4cb6e44856beaa074fdb62a58ff8ce35b
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/820300
    Auto-Submit: Gopher Robot <gobot@golang.org>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: David Chase <drchase@google.com>
    Reviewed-by: Roland Shoemaker <roland@golang.org>
    gopherbot committed Aug 24, 2026
    Configuration menu
    Copy the full SHA
    89f4e9b View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2026

  1. x509roots/fallback/bundle: make subjectsEqual stricter on Go 1.27+

    This gradual step towards removing/inlining subjectsEqual can happen
    after Go 1.27.0 is released and the bundle starts being generated
    with it.
    
    Change-Id: Ib315bae69c45922c3f0aac5d2c0155fb5d94229f
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/775782
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Cherry Mui <cherryyz@google.com>
    Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
    dmitshur authored and gopherbot committed Aug 26, 2026
    Configuration menu
    Copy the full SHA
    afebf4c View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2026

  1. ssh: don't skip the source-address critical option in CheckCert

    CertChecker.CheckCert ignored source-address on the assumption that
    serverAuthenticate would enforce it, but that only happens in the
    server-side user authentication path. Nothing enforced it in the host key
    path, so CheckHostKey accepted CA-signed host certificates carrying
    source-address regardless of the server's address, and the same applied to
    applications calling CheckCert directly.
    
    Drop the special case: every critical option must be listed in
    SupportedCriticalOptions, host and user certificates alike. Authenticate,
    the only path where serverAuthenticate does enforce source-address, checks
    against a copy of the CertChecker with that option appended.
    
    Fixes golang/go#80872
    
    Change-Id: I3c3554b71ea2a4ce4b17696a9596b973b7d74b00
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/816840
    Reviewed-by: David Chase <drchase@google.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Filippo Valsorda <filippo@golang.org>
    Auto-Submit: Nicola Murino <nicola.murino@gmail.com>
    drakkan authored and gopherbot committed Aug 31, 2026
    Configuration menu
    Copy the full SHA
    39dc44e View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2026

  1. ssh: drop traffic on undecided channels

    A channel in the mux's chanList is not usable until it is established:
    an outbound channel has no confirmed remote id until the peer's open
    confirmation, and an inbound channel is not serviced by the application
    until it is accepted. handlePacket processed any channel message on it,
    so a misbehaving peer could flood channel requests and block the mux
    read loop on the send to incomingRequests, deadlocking the connection,
    or close an outbound channel before confirming it, making the victim
    tear down a half-initialized channel and emit a close for remote id 0,
    an unrelated channel of the peer.
    
    No such packet can be legitimate: the peer learns an inbound channel's
    local id only from the confirmation we have not sent yet, and on an
    outbound channel RFC 4254 lets it answer the open request only with a
    confirmation or a failure.
    
    Add an established flag, set when the channel becomes usable: for an
    outbound channel when the open response is received, for an inbound
    channel by Accept before the confirmation is sent. Until then
    handlePacket drops every packet other than the open response. The flag
    is separate from decided, which Reject also sets: a rejected channel is
    decided but must never carry traffic.
    
    Fixes CVE-2026-78662
    Fixes golang/go#81316
    
    Change-Id: Ib0983bb216a49808a2db1f4a4d92ee9fe38a3c51
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/826504
    Auto-Submit: Gopher Robot <gobot@golang.org>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Roland Shoemaker <roland@golang.org>
    Reviewed-by: Neal Patel <nealpatel@google.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    drakkan authored and thatnealpatel committed Sep 2, 2026
    Configuration menu
    Copy the full SHA
    a6cdac6 View commit details
    Browse the repository at this point in the history
  2. ssh: reject unexpected message types on established channels

    ch.msg is only read while the channel open or a channel request with a
    reply is pending, so anything the default arm of channel.handlePacket
    delivered to it was never consumed. The blocking send there let a
    misbehaving peer fill the buffer with well-formed but unexpected message
    types carrying a valid channel id and stall the mux read loop,
    deadlocking the whole connection.
    
    No conforming peer sends such messages during the connection protocol.
    Treat them as a protocol error and tear the connection down, as
    handleUnknownChannelPacket already does for the same messages when the
    channel id is not in use.
    
    Fixes CVE-2026-56855
    Fixes golang/go#81317
    
    Change-Id: I87420dfe68fcb62a17df4b47dc5ffb6ccd72ba26
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/826524
    Reviewed-by: Roland Shoemaker <roland@golang.org>
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Auto-Submit: Neal Patel <nealpatel@google.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    drakkan authored and gopherbot committed Sep 2, 2026
    Configuration menu
    Copy the full SHA
    86efde5 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2026

  1. go.mod: update golang.org/x dependencies

    Update golang.org/x dependencies to their latest tagged versions.
    
    Change-Id: I39f495ef42016b2ab0c91f54b792ac16b967006f
    Reviewed-on: https://go-review.googlesource.com/c/crypto/+/829324
    LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Auto-Submit: Gopher Robot <gobot@golang.org>
    Reviewed-by: Cherry Mui <cherryyz@google.com>
    gopherbot committed Sep 8, 2026
    Configuration menu
    Copy the full SHA
    3f62bf1 View commit details
    Browse the repository at this point in the history
Loading