CVE-2026-39832
Description
When adding a key to a remote agent constraint extensions such as restrict-destination-v00@openssh.com were not serialized in the request. Destination restrictions were silently stripped when forwarding keys, allowing unrestricted use of the key on the remote host. The client now serializes all constraint extensions. Additionally, the in-memory keyring returned by NewKeyring() now rejects keys with unsupported constraint extensions instead of silently ignoring them.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
SSH agent destination constraint extensions were not serialized when forwarding keys, allowing unrestricted key use; fixed by serializing all extensions and rejecting unsupported ones.
Vulnerability
In the Go x/crypto/ssh/agent package, when adding a key to a remote agent, constraint extensions such as restrict-destination-v00@openssh.com were not serialized in the request. This allowed destination restrictions to be silently stripped when forwarding keys to a remote host, enabling unrestricted use of the forwarded key. The vulnerability affects versions before v0.52.0 of the package [2], [3].
Exploitation
An attacker who can cause a user to forward an SSH key via an agent can exploit this by receiving the key without the intended destination restrictions. The attacker does not need authentication beyond the forwarded key; any host to which the key is forwarded can use it without restriction. The original user assumes the destination constraints are enforced, but they are silently ignored.
Impact
Successful exploitation allows an attacker to use the forwarded SSH key on any remote host, bypassing intended destination restrictions. This leads to unauthorized access to systems that the key would normally be restricted from, resulting in potential information disclosure, privilege escalation, or lateral movement.
Mitigation
The vulnerability is fixed in golang.org/x/crypto v0.52.0 (and later) [2]. Users should update their dependency to this version or newer. The fix ensures all constraint extensions are serialized when forwarding keys, and the NewKeyring() function now rejects keys with unsupported constraint extensions instead of silently ignoring them [3]. No workaround is available other than updating.
AI Insight generated on May 22, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1- Package: https://pypi.org/project/crypto
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
4News mentions
0No linked articles in our index yet.