bk99.de entertain the web since 1997

Sicherheitsleck erlaubt Lesen des Linux-Kernel-Speichers

Zusammenfassung

Paul Starzetz fand 2004 mehrere Fehler in der Behandlung von Dateioffsets im Linux-Kernel, über die ein angemeldeter Benutzer ohne Sonderrechte Kernelspeicher lesen konnte. Ursache waren falsche Umwandlungen von 64-Bit-Offsets in 32-Bit-Werte und eine Race Condition in der 64-Bit-Datei-API. In Tests fand Starzetz so das Passwort eines per SSH angemeldeten Administrators.

Ideen

  • Falsche Typumwandlungen zwischen 64 und 32 Bit öffneten Lesezugriff auf Kernelspeicher.
  • Ungesicherter gleichzeitiger Zugriff auf eine Variable erzeugte eine Race Condition.
  • Kernelspeicher enthält Geheimnisse anderer Benutzer, etwa eingegebene Passwörter.
  • Ein Demo-Exploit machte die Lücke sofort praktisch prüfbar.

Einsichten

  • Lokale Lücken sind auf Mehrbenutzersystemen genauso ernst wie entfernte.
  • Integer-Konvertierungsfehler gehören zu den unscheinbarsten und gefährlichsten Fehlerklassen in C.

Fakten

  • Betroffen waren Kernel 2.4 bis 2.4.26 und 2.6 bis 2.6.7.
  • Red Hat stellte bei Veröffentlichung bereits korrigierte Kernel-Pakete bereit.

Referenzen

Kritik

  • Die Meldung nennt keine Workarounds für Systeme, die nicht sofort neu gestartet werden können.

Empfehlungen

  • Spiele Kernel-Updates auf Mehrbenutzersystemen und Shell-Servern besonders zügig ein.
  • Beschränke interaktive Anmeldungen auf Servern auf die Benutzer, die sie wirklich brauchen.

Originalartikel lesen →

Im Webarchiv suchen