Vigil@nce : OpenBSD, déni de service via getsockopt
octobre 2009 par Vigil@nce
Un attaquant local peut employer la fonction getsockopt(), afin de
stopper le système.
– Gravité : 1/4
– Conséquences : déni de service de la machine
– Provenance : shell utilisateur
– Moyen d’attaque : aucun démonstrateur, aucune attaque
– Compétence de l’attaquant : expert (4/4)
– Confiance : confirmé par l’éditeur (5/5)
– Diffusion de la configuration vulnérable : élevée (3/3)
– Date création : 29/10/2009
PRODUITS CONCERNÉS
– OpenBSD
DESCRIPTION DE LA VULNÉRABILITÉ
La fonction getsockopt() permet d’obtenir des informations
associées à une socket :
– IP/IPV6_AUTH_LEVEL : utilisation de l’authentification IPSec
– IP/IPV6_ESP_TRANS_LEVEL : chiffrement en mode transport
– IP/IPV6_ESP_NETWORK_LEVEL : chiffrement en mode tunnel
– IP/IPV6_IPCOMP_LEVEL : compression
Les fonctions ip_ctloutput() et ip6_ctloutput() des fichiers
sys/netinet/ip_output.c et sys/netinet6/ip6_output.c retournent
ces informations.
Cependant, lorsque ces fonctions sont appelées pour les 4 options
précitées, elles déréférencent un pointeur non initialisé sur un
mbuf.
Un attaquant local peut donc employer la fonction getsockopt(),
afin de stopper le système.
CARACTÉRISTIQUES
– Références : BID-36859, VIGILANCE-VUL-9139
– Url : http://vigilance.fr/vulnerabilite/OpenBSD-deni-de-service-via-getsockopt-9139