Vigil@nce - Noyau Linux : déni de service par collision de noms de fichiers dans une partition BTRFS
janvier 2013 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant pouvant créer des fichiers de nom arbitraires, peut
les choisir de façon à provoquer des collisions d’une fonction de
hachage du système de fichier BTRFS, afin de bloquer le système de
fichier.
Produits concernés : Linux
Gravité : 2/4
Date création : 17/12/2012
DESCRIPTION DE LA VULNÉRABILITÉ
BTRFS est une nouveau système de fichiers pour Linux, parfois
considéré comme encore en développement.
L’ordre des fichiers dans un répertoire n’étant pas significatif,
BTRFS stocke ces noms dans une table de hachage basée sur un
CRC-32 comme fonction de hachage, cette structure de données
permet normalement une recherche en un temps constant. La
définition mathématique du CRC rend trivial de trouver un nombre
quelconque des chaines d’octets ayant le même CRC. Cependant, le
code de BTRFS ne sait gérer qu’un petit nombre de collisions,
précisément 61 lors de l’ajout de fichiers. De plus, il semble
bloquer complètement lors de la suppression de fichiers avec un
jeu de noms de fichiers correspondants à seulement une dizaine de
collisions par valeur de CRC.
Un attaquant pouvant créer des fichiers de nom arbitraires, peut
donc les choisir de façon à provoquer des collisions d’une
fonction de hachage du système de fichier BTRFS, afin de bloquer
le système de fichier.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET