[Linux/Kernel] umask für init falsch gesetzt
(2001-07-25 16:50:55+00)
Quelle:
http://cert.uni-stuttgart.de/archive/bugtraq/2001/07/msg00257.html
Eine Änderung, die am Linux-Kernel in der Version 2.4.3 vorgenommen wurde, führt dazu, daß init
mit der umask 000
aufgerufen wird. Dadurch werden Systemdateien für alle Benutzer schreibbar angelegt, wodurch lokale Benutzer das System kompromittieren können.
Betroffene Systeme
- Systeme mit Linux-Kernel in den Versionen 2.4.3 bis 2.4.6 einschließlich.
Einfallstor
Zugriff durch lokale Benutzer.
Auswirkung
Manipulation von bestimmten Logfiles, Terminieren von Diensten. Möglicherweise können root
-Rechte unbefugt erlangt werden (root compromise).
Gefahrenpotential
hoch (insbesondere, falls Kernel-Module dynamisch geladen werden).
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
Der Wert des umask-Prozeßattributs beschreibt indirekt, mit welchen Rechten neue Dateien angelegt werden. In Linux 2.4.2 und früheren Versionen wurde ein Fehler im Kernel-NFS-Server entdeckt, der darauf zurückzuführen ist, daß der zugehörige Kernel-Prozeß die umask 022
hat. Deswegen wurde die Voreinstellung für Kernel-Prozesse generell auch auf 000
geändert; dabei wurde jedoch übersehen, daß auch init
dieselbe umask erhält, was sich an die von init
aufgerufenen Prozesse vererbt. Diese Prozesse legen somit i.d.R. Dateien so an, daß sie für alle lokalen Benutzer des Systems schreibbar sind.
Besonders gravierend wird dieses Problem, falls das System das dynamische Laden von Modulen unterstützt, da die Modul-Beschreibungsdatei ebenfalls für alle Benutzer schreibbar wird, wenn sie von typischen Boot-Skripten beim Systemstart neu erstellt wird. Dadurch kann ein böswilliger lokaler Benutzer eigene Kernel-Module einschleusen und dadurch root
-Rechte erlangen.
Gegenmaßnahmen
- Installation von Linux 2.4.7.
- Umkehren der Veränderungen an
linux/include/linux/fs_struct.h
: Im MakroINIT_FS
muß als umask0022
angegeben sein, nicht0000
.
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=430