CVE-2021-3450
Contournement du contrôle du certificat CA avec X509_V_FLAG_X509_STRICT
- Publié
- 25 mars 2021
- Mise à jour
- 17 sept. 2024
- Attribution de CNA
- openssl
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NModéré · 30 prochains jours
- Percentile
- 97,2 %
- 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é
Le drapeau X509_V_FLAG_X509_STRICT active des contrôles de sécurité supplémentaires sur les certificats présents dans une chaîne de certificats. Il n'est pas défini par défaut. À partir de la version 1.1.1h d'OpenSSL, un contrôle visant à interdire les certificats de la chaîne comportant des paramètres de courbe elliptique explicitement encodés a été ajouté en tant que contrôle strict supplémentaire. Une erreur dans l'implémentation de ce contrôle a entraîné l'écrasement du résultat d'un contrôle précédent visant à confirmer que les certificats de la chaîne sont des certificats de CA valides. Cela contourne en pratique le contrôle selon lequel les certificats non-CA ne doivent pas être en mesure d'émettre d'autres certificats. Si un « purpose » a été configuré, il existe alors une opportunité ultérieure de vérifier que le certificat est une CA valide. Toutes les valeurs de « purpose » nommées implémentées dans libcrypto effectuent ce contrôle. Par conséquent, lorsqu'un purpose est défini, la chaîne de certificats sera toujours rejetée même si le drapeau strict a été utilisé. Un purpose est défini par défaut dans les routines de vérification de certificats client et serveur de libssl, mais il peut être remplacé ou supprimé par une application. Pour être affectée, une application doit définir explicitement le drapeau de vérification X509_V_FLAG_X509_STRICT et soit ne pas définir de purpose pour la vérification des certificats, soit, dans le cas des applications clientes ou serveurs TLS, remplacer le purpose par défaut. Les versions d'OpenSSL 1.1.1h et ultérieures sont affectées par ce problème. Les utilisateurs de ces versions doivent mettre à niveau vers OpenSSL 1.1.1k. OpenSSL 1.0.2 n'est pas affecté par ce problème. Corrigé dans OpenSSL 1.1.1k (Affecté 1.1.1h-1.1.1j).
Sources
1- MUT-BC-SS-01PoC
Tests de mutation sur la validation de certificat X.509 dans OpenSSL v.1.1.1h, basé sur CVE-2021-3450.
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.