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.
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.