diff options
author | Colin Watson <cjwatson@ubuntu.com> | 2014-02-09 16:09:50 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2014-02-09 16:17:31 +0000 |
commit | 8909ff0e3cd07d1b042d1be1c8b8828dbf6c9a83 (patch) | |
tree | ebee4092f1411059e34da6f66b4ebd64f4411020 /sshd.c | |
parent | 07f2a771c490bd68cd5c5ea9c535705e93bd94f3 (diff) |
Reject vulnerable keys to mitigate Debian OpenSSL flaw
In 2008, Debian (and derived distributions such as Ubuntu) shipped an
OpenSSL package with a flawed random number generator, causing OpenSSH to
generate only a very limited set of keys which were subject to private half
precomputation. To mitigate this, this patch checks key authentications
against a blacklist of known-vulnerable keys, and adds a new ssh-vulnkey
program which can be used to explicitly check keys against that blacklist.
See CVE-2008-0166.
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1469
Last-Update: 2013-09-14
Patch-Name: ssh-vulnkey.patch
Diffstat (limited to 'sshd.c')
-rw-r--r-- | sshd.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -1688,6 +1688,11 @@ main(int ac, char **av) | |||
1688 | sensitive_data.host_pubkeys[i] = NULL; | 1688 | sensitive_data.host_pubkeys[i] = NULL; |
1689 | continue; | 1689 | continue; |
1690 | } | 1690 | } |
1691 | if (auth_key_is_revoked(key != NULL ? key : pubkey, 1)) { | ||
1692 | sensitive_data.host_keys[i] = NULL; | ||
1693 | sensitive_data.host_pubkeys[i] = NULL; | ||
1694 | continue; | ||
1695 | } | ||
1691 | 1696 | ||
1692 | switch (keytype) { | 1697 | switch (keytype) { |
1693 | case KEY_RSA1: | 1698 | case KEY_RSA1: |