|
|
Message-ID: <769810cc-91ac-44c5-ac38-1273b14ae6f8@oracle.com> Date: Fri, 22 May 2026 09:43:34 -0700 From: Alan Coopersmith <alan.coopersmith@...cle.com> To: oss-security@...ts.openwall.com Subject: Vulnerabilities in golang.org/x/crypto -------- Forwarded Message -------- Subject: [security] Vulnerabilities in golang.org/x/crypto Date: Thu, 21 May 2026 17:56:27 -0700 (PDT) From: Neal Patel <neal@...ang.org> To: golang-announce <golang-announce@...glegroups.com> Ahoy gophers, We have tagged version v0.52.0 of golang.org/x/crypto in order to address the following security issues: ssh/agent: pathological inputs can lead to client panic For certain crafted inputs, a `ed25519.PrivateKey` was created by casting malformed wire bytes, leading to a panic when used. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-46598 and Go issue https://go.dev/issue/79596. ssh: byte arithmetic causes underflow and panic An incorrectly placed cast from bytes to int allowed for server-side panic in the AES-GCM packet decoder for well-crafted inputs. Thanks to Maciej Kawka for reporting this issue. This is CVE-2026-46597 and Go issue https://go.dev/issue/79561. ssh: bypass of certificate restrictions 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 Permissions with PartialSuccessError now results in a connection error. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39828 and Go issue https://go.dev/issue/79562. ssh: server panic during CheckHostKey/Authenticate 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. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39835 and Go issue https://go.dev/issue/79563. ssh/agent: key constraints not enforced The in-memory keyring returned by NewKeyring() silently accepted keys with the ConfirmBeforeUse constraint but never enforced it. The key would sign without any confirmation prompt, with no indication to the caller that the constraint was not in effect. NewKeyring() now returns an error when unsupported constraints are requested. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39833 and Go issue https://go.dev/issue/79436. ssh/agent: agent constraints dropped when forwarding keys When adding a key to a remote agent constraint extensions such as restrict-destination-v00@...nssh.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. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39832 and Go issue https://go.dev/issue/79435. ssh: memory leak when rejecting channels can lead to DoS An authenticated SSH client that repeatedly opened channels which were rejected by the server caused unbounded memory growth, eventually crashing the server process and affecting all connected users. Rejected channels are now properly removed from the connection's internal state and released for garbage collection. Thanks to Ziyan Zhou for reporting this issue. This is CVE-2026-39827 and Go issue https://go.dev/issue/35127. ssh: client can cause server deadlock on unexpected responses 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 global responses are now discarded. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39830 and Go issue https://go.dev/issue/79564. ssh: pathological RSA/DSA parameters may cause DoS 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 unauthenticated clients during public key authentication. RSA moduli are now limited to 8192 bits, and DSA parameters are validated per FIPS 186-2. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39829 and Go issue https://go.dev/issue/79565. ssh: bypass of FIDO/U2F security keys physical interaction The Verify() method for FIDO/U2F security key types (sk-ecdsa-sha2-nistp256@...nssh.com, sk-ssh-ed25519@...nssh.com) did not check the User Presence flag. Signatures generated without physical touch were accepted, allowing unattended use of a hardware security key. To restore the previous behavior, return a "no-touch-required" extension in Permissions.Extensions from PublicKeyCallback. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39831 and Go issue https://go.dev/issue/79566. ssh: infinite loop on large channel writes 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 int64 to prevent truncation. Thanks to NCC Group Cryptography Services, sponsored by Teleport for reporting this issue. This is CVE-2026-39834 and Go issue https://go.dev/issue/79567. ssh/knownhosts: auth bypass via unenforced @revoked status Previously, a revoked `SignatureKey` belonging to a CA was not correctly checked for revocation. Now, both the `key` and `key.SignatureKey` are checked for @revoked. This is CVE-2026-42508 and Go issue https://go.dev/issue/79568. ssh: VerifiedPublicKeyCallback permissions skip enforcement 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. This is CVE-2026-46595 and Go issue https://go.dev/issue/79570. Cheers, Go Security Team -- You received this message because you are subscribed to the Google Groups "golang-announce" group. To view this discussion visit https://groups.google.com/d/msgid/golang-announce/8d2d8d40-b3ff-4bbd-83fa-ed2d5641f87cn%40googlegroups.com
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.