-
Notifications
You must be signed in to change notification settings - Fork 367
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove AES-CBC ciphers from the server's default KEX proposal
CBC implementations have been historically susceptible to various padding oracle attacks, and the use of CBC-mode ciphers in the SSH protocol was found insecure in 2008 in another attack known as CPNI-957037[1], VU#958563[2], or CVE-2008-5161[3]. Details were published in [4] in 2009. OpenSSH does not propose the CBC ciphers (unless explicitly enabled) in servers since 2014, and has removed them from the client proposal in 2017, too. Before the full disclosure in 2009, OpenSSH had implemented some mitigations against CPNI-957037, but given the nature of the attack I'm not convinced they are effective. The attack leverages OpenSSH as an oracle and it does not need to control the IV, so it should be possible to perform the decryption attack offline using an older unpatched SSH implementation. TLS has deprecated CBC ciphers in TLS v1.2, and has removed them in TLS v.1.3. For clients, we keep the CBC ciphers by default for now to facilitate connecting to legacy servers. I plan to remove them from the client's default list in the next release. [1] https://www.openssh.com/txt/cbc.adv [2] https://www.kb.cert.org/vuls/id/958563 [3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=2008-5161 [4] https://www.cs.umd.edu/~jkatz/security/downloads/PlaintextRecoverySSH.pdf
- Loading branch information
Showing
5 changed files
with
83 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters