Noyau Linux : déni de service via une socket

Par:
fredericmazue

mer, 21/10/2009 - 12:13

Le site vigilance.fr rapport une vulnérabilité du noyau Linux pouvant aboutir à un déni de service.. La vulnérabilité est décrite ainsi:

"Les sockets Unix permettent par exemple à deux processus d'échanger des données, en se connectant sur un fichier spécial. Si le nom de ce fichier commence par un octet nul ('\0'), le fichier n'est pas stocké sur le système de fichiers, mais il utilise un espace abstrait dans le noyau.

La fonction shutdown() est utilisée pour fermer un type d'action (read/write) sur la socket.

Lorsqu'une socket Unix emploie l'espace abstrait, et est fermée avec shutdown(), mais que close() n'a pas encore été appelé, un attaquant local peut se connecter sur cette socket. Cependant, comme elle est partiellement fermée, une boucle infinie se produit dans le noyau.

Un attaquant local peut donc employer une socket Unix partiellement fermée, afin de bloquer le système."