golang.org/x/crypto/ssh vulnerabilities
11 known vulnerabilities in golang.org/x/crypto/ssh from Golang.org/x/crypto. 11 are rated high or critical. Each entry lists the affected versions and the release that fixes it, where the vendor has published one.
Latest first
- 7.5 High severity
golang.org/x/crypto/ssh: Allocation of Resources Without Limits or Throttling
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
- 7.5 High severity
golang.org/x/crypto/ssh: Allocation of Resources Without Limits or Throttling
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
- 7.5 High severity
golang.org/x/crypto/ssh: Incorrect Authorization
The source-address critical option in the Permissions returned by an authentication callback was only enforced for the PublicKeyCallback and VerifiedPublicKeyCallback paths, extending the fix for CVE-2026-46595. Permissions returned by the PasswordCallback, Ke
- 7.1 High severity
golang.org/x/crypto/ssh: Incorrect Authorization
Previously, CVE-2024-45337 fixed an authorization bypass for misused ssh server configurations; if any other type of callback is passed other than public key, then the source-address validation would be skipped.
- 7.5 High severity
golang.org/x/crypto/ssh: Improper Certificate Validation
SSH servers which use CertChecker as a public key callback without setting IsUserAuthority or IsHostAuthority could be caused to panic by a client presenting a certificate. CertChecker now returns an error instead of panicking when these callbacks are nil.
- 9.1 Critical severity
golang.org/x/crypto/ssh: Integer Overflow or Wraparound
When writing data larger than 4GB in a single Write call on an SSH channel, an integer overflow in the internal payload size calculation caused the write loop to spin indefinitely, sending empty packets without making progress. The size comparison now uses int
- 9.1 Critical severity
golang.org/x/crypto/ssh: Missing Authorization
The Verify() method for FIDO/U2F security key types ([email protected], [email protected]) did not check the User Presence flag. Signatures generated without physical touch were accepted, allowing unattended use of a hardware security
- 7.5 High severity
golang.org/x/crypto/ssh: Improper Restriction of Operations within the Bounds of a Memory Buffer
A malicious SSH peer could send unsolicited global request responses to fill an internal buffer, blocking the connection's read loop. The blocked goroutine could not be released by calling Close(), resulting in a resource leak per connection. Unsolicited globa
- 7.5 High severity
golang.org/x/crypto/ssh: Improper Verification of Cryptographic Signature
The RSA and DSA public key parsers did not enforce size limits on key parameters. A crafted public key with an excessively large modulus or DSA parameter could cause several minutes of CPU consumption during signature verification. This could be triggered by u
- 8.8 High severity
golang.org/x/crypto/ssh: Improper Certificate Validation
When an SSH server authentication callback returned PartialSuccessError with non-nil Permissions, those permissions were silently discarded, potentially dropping certificate restrictions such as force-command after a second factor succeeded. Returning non-nil
- 7.5 High severity
golang.org/x/crypto/ssh: Allocation of Resources Without Limits or Throttling
SSH servers which implement file transfer protocols are vulnerable to a denial of service attack from clients which complete the key exchange slowly, or not at all, causing pending content to be read into memory, but never transmitted.