Vulnérabilité de débordement de la mémoire tampon dans OpenSSL
Libellée sous le CVE-2021-3711, une faille a été repérée dans l’outil de chiffrement OpenSSL. La vulnérabilité se révèle par une erreur de calcul de la taille du tampon dans la fonction de déchiffrement SM2 de OpenSSL, qui permet d’écrire jusqu’à 62 octets arbitraires en dehors de la mémoire tampon.
Un attaquant distant pourrait utiliser cette faille pour faire planter le logiciel prenant en charge la signature ou l’algorithme de chiffrement SM2, ou, éventuellement, exécuter du code arbitraire avec les autorisations de l’utilisateur exécutant cette application.
DESCRIPTION DÉTAILLÉE
La vulnérabilité OpenSSL est liée au déchiffrement des données chiffrées SM2 dont les modifications dépendent de l’application ciblée et des données qu’elle conserve pendant l’exploitation de la vulnérabilité.
Un bug dans l’implémentation de la fonction de déchiffrement SM2 signifie que le calcul de la taille de la mémoire tampon requise pour contenir le texte en clair renvoyé par le premier appel à « EVP_PKEY_decrypt() » peut être inférieur à la taille réelle requise par le deuxième appel. Cela peut conduire à un débordement de tampon lorsque « EVP_PKEY_decrypt() » est appelé par l’application une deuxième fois avec une mémoire tampon moins grande.
Un attaquant malveillant capable de présenter du contenu SM2 à déchiffrer par une application pourrait faire en sorte que les données choisies débordent le tampon d’un maximum de 62 octets. Cela modifie le contenu d’autres données conservées après le tampon. Ceci a pour conséquence éventuelle la modification du comportement de l’application ou le plantage de cette dernière.
IMPACT
- Débordement de mémoire tampon
- Crash de l’application
SYSTEMES AFFECTÉS
- Les versions OpenSSL 1.1.1k et antérieures
- Les versions alpha/beta de OpenSSL 3.0
MESURES À PRENDRE
Il est fortement recommandé de passer à la version 1.1.1l de OpenSSL.
RÉFÉRENCES