OpenSSL 2 nouvelles failles

Deux vulnérabilités OpenSSL ont été relevées, ce n’est certes pas énorme, mais gare à celles et ceux qui sont en configurations spéciales (DTLS ainsi que OpenSSL à la fois côté client et serveur).

Après les annonces à répétions pour faire attention il y a peu de temps sur la bibliothèque OpenSSL due à la vulnérabilité HeartBleed, OpenSSL est à nouveau à l’honneur aujourd’hui suite à la publication de six nouvelles vulnérabilités. Alors que le monde entier s’est mis à jour il y a peu en installant OpenSSL 1.0.1g, il aura rarement existé une telle homogénéité de versions d’OpenSSL et donc de versions d’OpenSSL vulnérables. Même si la criticité de ces vulnérabilités reste inférieure à celle de HeartBleed, il est conseillé de procéder à la mise à jour de vos systèmes dès que possible.

Deux vulnérabilités de criticité plus élevée se détachent..

L’une, d’identifiant CVE-2014-0195, révélée aux développeurs OpenSSL le 23 avril 2014, permet une exécution de code à distance sur des applications aussi bien serveur que client instrumentant la couche de chiffrement du protocole UDP OpenSSL DTLS (Datagram Transport Layer Security). Ce protocole étant majoritairement présent dans des applications offrant des fonctionnalités de visioconférence, il est probable que les acteurs majeurs tels que CISCO seront impactés et qu’ils nous livreront les correctifs adéquats sous peu.

La seconde vulnérabilité critique, d’identifiant CVE-2014-0224, révélée le 1er mai, permet une attaque de type « man-in-the-middle » rendant possible le déchiffrement et la modification du trafic. Pour que cette vulnérabilité soit exploitable, il faut impérativement que les deux parties communicantes (client et serveur) soient vulnérables. Les versions 1.0.1 et 1.0.2-beta1 d’OpenSSL serveur sont vulnérables alors que toutes les versions sont vulnérables côté client.

Les quatre dernières vulnérabilités publiées et de criticité plus faibles sont les suivantes :

  • CVE-2014-0221 : déni de service contre un client via l’envoi d’un handshake DTLS spécialement formé. Cette vulnérabilité est située dans la fonction « dtls1_get_message_fragment() » du fichier source « ssl/d1_both.c » ;
  • CVE-2014-0198 : déni de service dû à un déréférencement de pointeur nul. Cette vulnérabilité est située dans la fonction « do_ssl3_write() » et n’est exploitable que si l’option SSL_MODE_RELEASE_BUFFERS est activée, ce qui n’est pas le cas par défaut ;
  • CVE-2010-5298 : condition de concurrence permettant l’injection de code entre sessions ou un déni de service. Cette vulnérabilité est située dans la fonction « ssl3_read_bytes() »et n’est exploitable que contre des applications multi-threadées et uniquement si l’option SSL_MODE_RELEASE_BUFFERS est activée;
  • CVE-2014-3470 : déni de service si les algorithmes ECDH (EllipticcurveDiffie–Hellman) anonymes sont utilisés.