Authentication Bypass by Capture-replay Affecting golang.org/x/crypto/ssh package, versions <0.17.0
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-GOLANG-GOLANGORGXCRYPTOSSH-6130669
- published 19 Dec 2023
- disclosed 18 Dec 2023
- credit Fabian Bäumer, Marcus Brinkmann, Jörg Schwenk
Introduced: 18 Dec 2023
CVE-2023-48795 Open this link in a new tabHow to fix?
Upgrade golang.org/x/crypto/ssh
to version 0.17.0 or higher.
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Authentication Bypass by Capture-replay during the establishment of the secure channel. An attacker can manipulate handshake sequence numbers to delete messages sent immediately after the channel is established.
Note:
Sequence numbers are only validated once the channel is established and arbitrary messages are allowed during the handshake, allowing them to manipulate the sequence numbers.
The potential consequences of the general Terrapin attack are dependent on the messages exchanged after the handshake concludes. If you are using a custom SSH service and do not resort to the authentication protocol, you should check that dropping the first few messages of a connection does not yield security risks.
Impact:
While cryptographically novel, there is no discernable impact on the integrity of SSH traffic beyond giving the attacker the ability to delete the message that enables some features related to keystroke timing obfuscation. To successfully carry out the exploitation, the connection needs to be protected using either the ChaCha20-Poly1305
or CBC
with Encrypt-then-MAC
encryption methods. The attacker must also be able to intercept and modify the connection's traffic.
Workaround
Temporarily disable the affected chacha20-poly1305@openssh.com
encryption and *-etm@openssh.com
MAC algorithms in the affected configuration, and use unaffected algorithms like AES-GCM
instead.