ssh/agent: preserve constraint extensions when adding keys The client Add method only serialized the lifetime and confirm constraints and silently dropped AddedKey.ConstraintExtensions before sending the SSH_AGENTC_ADD_IDENTITY request. As a result the remote agent always received the key with no extension constraints, regardless of what the caller requested. Applications that add a key believing custom constraint extensions (such as restrict-destination-v00@openssh.com) would be enforced instead loaded a completely unrestricted key into the agent. For example, an administrator forwarding their agent into an untrusted jump host and trying to limit the forwarded key with restrict-destination never had that restriction reach the agent: any user or compromised process on that host could make the agent sign arbitrary challenges. Serialize each entry in key.ConstraintExtensions as an agentConstrainExtension constraint so the constraints reach the agent, and add a round-trip regression test that verifies the extensions survive client serialization and server parsing. This issue was found during a security audit by NCC Group Cryptography Services, sponsored by Teleport. Updates CVE-2026-39832 Updates golang/go#79435 Change-Id: I14c5583b106cbf0d282d2ba01e000e0f586f08c7 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/778640 Reviewed-by: Neal Patel <neal@golang.org> Reviewed-by: Neal Patel <nealpatel@google.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This repository holds supplementary Go cryptography packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/crypto.
The main issue tracker for the crypto repository is located at https://go.dev/issues. Prefix your issue with “x/crypto:” in the subject line, so it is easy to find.
Note that contributions to the cryptography package receive additional scrutiny due to their sensitive nature. Patches may take longer than normal to receive feedback.