Dans l'outil e2fsck, fourni avec le package , (), permettant l'exécution de code par un attaquant lors de la vérification d'un systÚme de fichiers contenant des répertoires spécialement formatés. La vulnérabilité a été confirmée dans les versions de 1.43.3 à 1.45.4. La vulnérabilité a été corrigée dans la mise à jour . Dans les distributions, le problÚme reste pour l'instant non corrigé (, , , , ).
La vulnĂ©rabilitĂ© est causĂ©e par une erreur dans la fonction mutate_name() du fichier rehash.c, utilisĂ©e lors de la reconstruction des tables de hachage liĂ©es au rĂ©pertoire, assurant la correspondance avec tous les fichiers qu'il contient. La corruption de la structure hash_entry liĂ©e au rĂ©pertoire peut conduire Ă l'Ă©criture de donnĂ©es de l'attaquant dans une zone en dehors du tampon allouĂ©. Si plusieurs fichiers avec le mĂȘme nom sont trouvĂ©s dans la table de hachage liĂ©e au rĂ©pertoire, l'outil e2fsck renomme les fichiers en doublon en ajoutant ~0, ~1, etc. au nom. Pour stocker temporairement le nouveau nom lors de ce renommage, un tampon de 256 octets est allouĂ© sur la pile.
La taille des données copiées est déterminée par l'expression « entry->name_len & 0xff », mais la valeur de entry->name_len est chargée à partir de la structure sur le disque, et non calculée en fonction de la taille réelle du nom. Si la taille est égale à zéro, l'indice du tableau prend la valeur -1 et des conditions sont créées pour un débordement d'entier par le bas (integer underflow) et l'écriture d'autres données sur la pile avec la valeur « ~0 ». Pour les systÚmes 64 bits, l'exploitation de la vulnérabilité est jugée peu probable et nécessite l'absence de restrictions sur la taille de la pile (ulimit -s unlimited). Pour les systÚmes 32 bits, l'exploitation est considérée comme possible, mais le résultat dépend fortement de la maniÚre dont le fichier exécutable a été compilé.
Pour rĂ©aliser une attaque, l'attaquant doit altĂ©rer de maniĂšre spĂ©cifique les donnĂ©es dans une partition avec un FS ext2, ext3 ou ext4. Ătant donnĂ© que cette opĂ©ration nĂ©cessite des privilĂšges de superutilisateur, la vulnĂ©rabilitĂ© reprĂ©sente une menace lors de la vĂ©rification par l'outil e2fsck de pĂ©riphĂ©riques externes ou d'images de FS obtenues de l'extĂ©rieur.
Source : opennet.ru
