Un bug de Steam sous Linux peut supprimer tous les fichiers des utilisateurs

 

On peut le baptiser ce bug comme le plus effrayant de la semaine. Des utilisateurs ont reportés un bug sur le Github de Steam qui pouvait supprimer tous les fichiers des utilisateurs si un utilisateur déplaçait le contenu du dossier Steam dans un autre.

En fait, quand l’utilisateur tente de déplacer le dossier de Steam dans un autre répertoire, le processus lance la commande suivante (qui peut provoquer des crises cardiaques rien qu’en voyant la ligne de code ) :

rm -rf /*

Cette commande va supprimer tous les fichiers du répertoire de manière récursive sans aucun avertissement si l’utilisateur possède les droits requis sur le fichier. Pour ceux qui ne connaissent pas Linux, c’est l’équivalent de la commande format c: sous Windows à une époque.

Les utilisateurs qui rapportent ce bug affirment qu’il se déclenche sans aucun avertissement. L’utilisateur ne pourra pas lancer Steam et donc, il va le réinstaller. Tout va fonctionner en apparence jusqu’à ce qu’il s’aperçoit que tous les fichiers du répertoire racine ont étés supprimés et cela concerne également les médias amovibles. Donc, ce bug peut également supprimer vos sauvegardes sur un disque dur externe.

On a tenté de retracer le bug et il est lié à une variable d’un script Shell qui doit contenir normalement un chemin de fichier, mais qui peut tout supprimer si le Shell détecte qu’il y a des fichiers de Steam qui sont manquants (pour nettoyer le dossier pour une réinstallation propre). Le code en question est situé dans le fichier steam.h :

# figure out the absolute path to the script being run a bit
# non-obvious, the ${0%/*} pulls the path out of $0, cd's into the
# specified directory, then uses $PWD to figure out where that
# directory lives - and all this in a subshell, so we don't affect
# $PWD
STEAMROOT="$(cd "${0%/*}" && echo $PWD)"
# Scary!
rm -rf "$STEAMROOT/"*

 

On a des situations où la variable STEAMROOT peut être vide, mais il n’y a aucun contrôle sur le pourquoi des fichiers manquants ce qui lance la commande qui supprimera tous les fichiers.

Steam n’a pas encore répondu à ce bug et donc, pour les utilisateurs de Steam sous Linux, il vaut mieux ne pas déplacer son dossier.

Source

 

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s