Vigil@nce - Ruby : création de fichier via IO open
octobre 2012 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Lorsqu’un attaquant peut transmettre un nom de fichier à une
application Ruby, il peut employer un caractère spécial, afin de
forcer l’application à créer/ouvrir un autre fichier.
– Produits concernés : Fedora, Unix (plateforme)
– Gravité : 2/4
– Date création : 15/10/2012
DESCRIPTION DE LA VULNÉRABILITÉ
La méthode Ruby IO#open permet d’ouvrir un fichier, en le créant
s’il n’existe pas.
La caractère ’\0’ est utilisé comme terminateur de chaîne en
langage C. Cependant, en Ruby, le caractère ’\0’ est autorisé au
milieu d’une chaîne texte. Cette incohérence peut conduire à des
erreurs. Par exemple, si la méthode IO#open est utilisée pour
créer le fichier "a\0b", alors le système créé le fichier "a".
Lorsqu’un attaquant peut transmettre un nom de fichier à une
application Ruby, il peut donc employer un caractère spécial, afin
de forcer l’application à créer/ouvrir un autre fichier.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Ruby-creation-de-fichier-via-IO-open-12070