Vigil@nce - OpenSSL : corruption de mémoire dans ssl3_get_key_exchange
août 2010 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant peut inviter la victime à se connecter sur un serveur
SSL/TLS illicite, afin de corrompre la mémoire du client, pour
mener un déni de service ou faire exécuter du code.
Gravité : 2/4
Date création : 09/08/2010
Date révision : 10/08/2010
DESCRIPTION DE LA VULNÉRABILITÉ
L’algorithme RSA utilise deux nombres premiers nommés "p" et "q".
L’algorithme SSL/TLS utilise un certificat lié à des clefs RSA
basées sur ces nombres.
Lorsque le client OpenSSL se connecte sur un serveur SSL/TLS, il
emploie la fonction RSA_verify() pour vérifier la signature du
certificat. Si p et q ne sont pas premier, la signature est alors
invalide et le client interrompt la session. Cependant, le
traitement de cette erreur libère deux fois le contexte bn_ctx
dans la fonction ssl3_get_key_exchange() du fichier ssl/s3_clnt.c.
Un attaquant peut donc inviter la victime à se connecter sur un
serveur SSL/TLS illicite, afin de corrompre la mémoire du client,
pour mener un déni de service ou faire exécuter du code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/OpenSSL-corruption-de-memoire-dans-ssl3-get-key-exchange-9819