Il est notoire que le bogue heartbleed existe dans les versions OpenSSL 1.0.1 à 1.0.1f (incluses). Pourquoi donc ssh
et sshd
sont-ils compilés avec OpenSSL 1.0.1, où le bogue existe (12.04 -> OpenSSL 1.0.1, 14.04 -> OpenSSL 1.0.1f)? Le libssl.so
est bien sûr à jour, mais si je lance
ldd `which ssh`
# or
ldd `which sshd`
rien ne lie aux versions non corrompues d'OpenSSL. Mais si je cours
sshd -V
# Under Ubuntu 12.04 it says:
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
# Under Ubuntu 14.04 it says:
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014
Ils disent explicitement qu'ils sont compilés avec une version corrompue. On https://launchpad.net/ubuntu/+source/openssh rien n'est dit à propos d'une mise à jour lors de la publication du bogue Heartbeat.
Alors, comment puis-je être sûr que sshd
n'utilise pas une version affectée d'OpenSSL. Si, si elle ne l'utilise pas, pourquoi disent-ils explicitement qu'ils utilisent une version affectée?
Heartbleed n'affecte que les connexions SSL/TLS, pas toutes les fonctions de chiffrement de la bibliothèque OpenSSL, et sshd n'utilise pas du tout SSL/TLS; il n'est donc pas affecté par Heartbleed, même s'il est compilé avec les versions OpenSSL concernées. Voir cette question et cette réponse .