Linux Spain

Linux Spain at

Cuidado con Steam en Linux: Puede borrar todos tus ficheros.

Si eres usuario de Steam, el sistema de administración de software y DRM de Valve, y lo utilizas en Linux, ten MUCHO CUIDADO: Contiene un bug que puede cargarse todos tus ficheros y eliminar recursivamente todos tus directorios y archivos para los que tengas derechos de escritura, estén en tu directorio /home o en unidades de almacenamiento externo.

https://github.com/ValveSoftware/steam-for-linux/issues/3671

El bug se activa cuando los usuarios mueven el directorio de Steam a otro localización en su árbol de directorios. Cuando esto ocurre, un script bash incluido con Steam puede ejecutar la temida instrucción

rm -rf /*

que, cómo la mayoría sabréis, borra recursivamente todo lo que se encuentra desde el directorio root para abajo. Si se ejecuta como usuario normal, "sólo" se cargará todo para lo que tengas permiso de escritura como ese usuario, esto es, todo lo que tengas en directorio /home, unidades montadas con permiso de escritura para el usuario (discos duros, USBs), sistemas NFS para los que también tengas permiso de escritura, etc.

Sin embargo, si se ejecuta con privilegios de superusuario (ya sea con su o sudo), la instrucción eliminará TODO lo que encuentra en su camino hasta que el sistema falle.

Parece que, cuando se mueve el directorio de Steam, la variable que contiene el nombre del directorio raíz de Steam, que se obtiene con las instrucción

STEAMROOT="$(cd "${0%/*}" && echo $PWD)"

acaba vacía, por lo que la instrucción

rm -rf "$STEAMROOT/"*

es evaluada por Bash como

rm -rf "/"*

Curiosamente, algún desarrollador ya identificó el potencial problema precediendo la instrucción con el comentario

# Scary!

Scary, pero scary de verdad. Lástima que no se le ocurrió corregir el problema ya que estaba.

EVAnaRkISTO shared this.

Scary, vaya bugazo.

Aqa-Ib at 2015-01-18T13:55:50Z

Control de errores? Ezo que e lo que eee?? xD

JanKusanagi @i at 2015-01-18T16:17:27Z