Sicherheitslücke in FileUtils durch Race-Conditions in Symlinks

Eine durch Symlink-Race-Conditions verursachte Sicherheitslücke in FileUtils.remove_entry_secure wurde entdeckt. Die Sicherheitslücke erlaubt lokalen Nutzern beliebige Dateien und Verzeichnisse zu löschen.

Betroffene Versionen

  • Ruby 1.8.6-p420 und alle vorherigen Versionen
  • Ruby 1.8.7-p330 und alle vorherigen Versionen
  • Entwicklerversionen von Ruby 1.8 (1.8.8-dev)
  • Ruby 1.9.1-p430 und alle vorherigen Versionen
  • Ruby 1.9.2-p136 und alle vorherigen Versionen
  • Entwicklerversionen von Ruby 1.9 (1.9.3-dev)

Lösungen

Wir haben das Problem bereits gelöst; alle betroffenen Nutzer sollten ihre Ruby-Installation aktualisieren.

Nimm aber bitte zur Kenntnis, dass Symlink-Race-Attacks unvermeidbar sind, wenn eines der Elternverzeichnisse des Verzeichnisses, aus dem du löschen willst, jemand Unglaubwürdigem gehört. Um wirklich sicher zu sein, musst du sicherstellen, dass alle Elternverzeichnisse nicht von unglaubwürdigen Benutzern verschoben werden können. So sollten etwa Elternverzeichnisse nicht von unglaubwürdigen Nutzern besessen werden und sollten nicht für alle schreibbar sein (außer wenn das Sticky-Bit gesetzt ist).

Updates