CVE-2021-4044
Invalid handling of X509_verify_cert() internal errors in libssl
- Publié
- 14 déc. 2021
- Mise à jour
- 17 sept. 2024
- Attribution de CNA
- openssl
- Preuve observée
- 4 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
- 98,9 %
- 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é
# Vulnérabilité dans OpenSSL En interne, libssl dans OpenSSL appelle `X509_verify_cert()` côté client pour vérifier un certificat fourni par un serveur. Cette fonction peut renvoyer une valeur de retour négative pour indiquer une erreur interne (par exemple, un manque de mémoire). Une telle valeur de retour négative est mal gérée par OpenSSL et entraînera une fonction d'E/S (telle que `SSL_connect()` ou `SSL_do_handshake()`) à ne pas indiquer de succès, et un appel ultérieur à `SSL_get_error()` renverra la valeur `SSL_ERROR_WANT_RETRY_VERIFY`. Cette valeur de retour ne devrait être renvoyée par OpenSSL que si l'application a préalablement appelé `SSL_CTX_set_cert_verify_callback()`. Comme la plupart des applications ne le font pas, la valeur de retour `SSL_ERROR_WANT_RETRY_VERIFY` de `SSL_get_error()` sera totalement inattendue et les applications peuvent ne pas se comporter correctement en conséquence. Le comportement exact dépendra de l'application, mais cela pourrait entraîner des plantages, des boucles infinies ou d'autres réponses incorrectes similaires. Ce problème devient plus grave lorsqu'il est combiné à un autre bug distinct dans OpenSSL 3.0 qui amènera `X509_verify_cert()` à indiquer une erreur interne lors du traitement d'une chaîne de certificats. Cela se produira lorsqu'un certificat n'inclut pas l'extension Subject Alternative Name mais qu'une autorité de certification a imposé des contraintes de nom. Ce problème peut survenir même avec des chaînes valides. En combinant les deux problèmes, un attaquant pourrait induire un comportement incorrect et dépendant de l'application. Corrigé dans OpenSSL 3.0.1 (Affecté 3.0.0).
Sources
1- CVE-2021-4044Détection
Script Python pour vérifier la version d'OpenSSL pour la vulnérabilité CVE-2021-4044 et tester les connexions SSL/TLS à des sites web spécifiés par l'utilisateur, avec gestion des erreurs et génération de rapports.
Utilisation 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.