CVE-2022-0778
Boucle infinie dans BN_mod_sqrt() accessible lors de l'analyse des certificats
- Publié
- 15 mars 2022
- Mise à jour
- 22 mai 2026
- Attribution de CNA
- openssl
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HÉlevé · 30 prochains jours
- Percentile
- 99,4 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
La fonction BN_mod_sqrt(), qui calcule une racine carrée modulaire, contient un bogue qui peut la faire boucler indéfiniment pour des modules non premiers. En interne, cette fonction est utilisée lors de l'analyse des certificats contenant des clés publiques de courbe elliptique sous forme compressée ou des paramètres explicites de courbe elliptique avec un point de base encodé sous forme compressée. Il est possible de déclencher la boucle infinie en forgeant un certificat avec des paramètres de courbe explicites invalides. Étant donné que l'analyse du certificat a lieu avant la vérification de la signature du certificat, tout processus qui analyse un certificat fourni en externe peut donc être soumis à une attaque par déni de service. La boucle infinie peut également être atteinte lors de l'analyse de clés privées forgées, car elles peuvent contenir des paramètres explicites de courbe elliptique. Ainsi, les situations vulnérables incluent : - les clients TLS consommant des certificats de serveur - les serveurs TLS consommant des certificats de client - les fournisseurs d'hébergement acceptant des certificats ou des clés privées de clients - les autorités de certification analysant les demandes de certificat des abonnés - toute autre chose qui analyse des paramètres de courbe elliptique ASN.1. De plus, toute autre application utilisant BN_mod_sqrt() où l'attaquant peut contrôler les valeurs des paramètres est vulnérable à ce problème de déni de service. Dans la version OpenSSL 1.0.2, la clé publique n'est pas analysée lors de l'analyse initiale du certificat, ce qui rend le déclenchement de la boucle infinie légèrement plus difficile. Cependant, toute opération nécessitant la clé publique du certificat déclenchera la boucle infinie. En particulier, l'attaquant peut utiliser un certificat auto-signé pour déclencher la boucle lors de la vérification de la signature du certificat. Ce problème affecte les versions OpenSSL 1.0.2, 1.1.1 et 3.0. Il a été corrigé dans les versions 1.1.1n et 3.0.2 du 15 mars 2022. Corrigé dans OpenSSL 3.0.2 (Affecté 3.0.0,3.0.1). Corrigé dans OpenSSL 1.1.1n (Affecté 1.1.1-1.1.1m). Corrigé dans OpenSSL 1.0.2zd (Affecté 1.0.2-1.0.2zc).
Sources
5Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.