OpenSSL 1.1.1k corrige de graves failles de sécurité détectées

OpenSSL est l'une des bibliothèques cryptographiques les plus utilisées par les systèmes d'exploitation, Windows et de nombreuses distributions basées sur Linux et Unix utilisent OpenSSL pour gérer toute la cryptographie, les certificats numériques, etc. connu le lancement d'une nouvelle version d'OpenSSL 1.1.1k qui vient résoudre deux failles graves qui ont été incorporées lors de la résolution d'autres failles de sécurité. Voulez-vous connaître tous les détails et si ces failles de sécurité vous concernent?

OpenSSL 1.1.1k

Contourner la vérification du certificat CA

OpenSSL a introduit une nouvelle fonction appelée X509_V_FLAG_X509_STRICT, l'objectif de cette fonction est de vérifier les certificats numériques suspects, dans le but de refuser leur utilisation en renvoyant une erreur. Cette fonctionnalité a été intégrée car un bogue a été trouvé dans la fonction de vérification du certificat de la courbe elliptique ECC dans l'implémentation Windows, cela permettrait à un attaquant de valider le certificat entier comme bon sans renvoyer aucune erreur. Ces certificats basés sur ECC vérifiés par Microsoft ne fonctionnaient pas et tout le monde les acceptait. Microsoft a ajouté une nouvelle fonctionnalité et OpenSSL a hérité de cette fonctionnalité pour détecter les certificats numériques «suspects». Depuis la version 1.1.1h d'OpenSSL, une vérification supplémentaire a été ajoutée pour ne pas autoriser ce type de certificat.

Une erreur dans la mise en œuvre de cette vérification, a provoqué une vérification préalable pour ne pas valider correctement, et les certificats non-CA peuvent émettre des certificats (ce qui ne devrait pas arriver, seules les CA peuvent émettre et révoquer des certificats). Par conséquent, cela pourrait entraîner la génération de certificats à partir de certificats normaux (et non de CA), ce qui ne devrait jamais se produire.

Un détail important est que la fonction X509_V_FLAG_X509_STRICT n'est pas activée par défaut, mais si une application l'active pour l'utiliser, cela pourrait entraîner d'autres problèmes. Ce bogue affecte toutes les versions d'OpenSSL 1.1.1h et supérieures, tous les utilisateurs de cette version doivent mettre à jour vers la version 1.1.1k dès que possible. Si vous utilisez OpenSSL version 1.0.2, vous n'êtes pas concerné par ce problème.

Déni de service aux serveurs TLS avec OpenSSL

Un autre bogue très important qu'ils ont corrigé est lié à la négociation du protocole TLS. Un serveur TLS utilisant la bibliothèque cryptographique OpenSSL peut échouer si une renégociation ClientHello est envoyée depuis le client. Si dans une renégociation avec TLSv1.2, le ClienHello omet l'extension signature_algoritms (où le ClientHello initial était présent) mais inclut une extension signature_algorithms_cert alors déréférencer le pointeur et provoque un verrou avec son déni de service correspondant.

Tout serveur n'est vulnérable que s'il utilise le protocole TLSv1.2 et que la renégociation est activée (par défaut, c'est le cas). Les clients TLS ne sont pas affectés par cette vulnérabilité, seuls les serveurs. Toutes les versions d'OpenSSL 1.1.1 sont affectées par ce bogue, par conséquent, il est recommandé de mettre à jour vers la version d'OpenSSL 1.1.1k dès que possible. La version 1.0.2 d'OpenSSL n'est pas non plus affectée par ce problème.

Nous devons nous rappeler qu'OpenSSL version 1.0.2 est hors support, le même que la version 1.1.0, par conséquent, il est recommandé de toujours mettre à jour vers la dernière version d'OpenSSL 1.1.1k pour résoudre tous ces problèmes rencontrés. Si vous disposez d'un système d'exploitation Linux, exécutez simplement les commandes suivantes pour procéder à la mise à jour lorsqu'elle est disponible dans le référentiel:

sudo apt updatesudo apt upgrade

Nous vous recommandons de lire le fil de discussion de Sergio de los Santos où il explique facilement les deux échecs: