[Linux/Kernel] Neues Problem mit ptrace()
(2001-10-22 12:21:37+00)
Quelle:
http://cert.uni-stuttgart.de/archive/bugtraq/2001/10/msg00135.html
Wieder ist eine race condition
in der Kernel-Implementation von ptrace()
entdeckt worden.
Betroffene Systeme
- System mit Linux-Kernel der 2.2.x-Reihe bis einschließlich 2.2.19
- System mit Linux-Kernel der 2.4.x-Reihe bis einschließlich 2.4.10
setuid-root
-Programme mit bestimmten Eigenschaften benötigt, die jedoch auf den allermeisten GNU/Linux-Systemen installiert sind.
Nicht betroffene Systeme
- System mit Linux-Kernel der 2.0.x-Reihe
- System mit Linux-Kernel der 2.2.x-Reihe ab 2.2.20
- System mit Linux-Kernel der 2.4.x-Reihe ab 2.4.12
Einfallstor
lokaler Account mit interaktivem Zugang
Auswirkung
Ein lokaler Angreifer kann root
-Rechte erlangen (local root compromise).
Typ der Verwundbarkeit
race condition
Gefahrenpotential
hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
Mittels der Kernel-API ptrace()
kann ein Benutzer Prozesse, die er gestartet hat, einem Debugger gleich überwachen und manipulieren (z.B. Breakpoints setzen, Daten und u.u. Code verändern). Verständlicherweise sollte diese Möglichkeit für setuid
-Programme nicht bestehen. Dazu müssen die Rechte des Prozesses, der ptrace()
aufruft, mit denen desjenigen verglichen werden, der Ziel des Aufrufes ist. Durch ein Programm wie newgrp
, welches setuid root
ist und später ein anderes, vom Aufrufer vorgegebenes Programm ausführt, kann der Prozeß, der ptrace()
auf ein setuid
-Programm ausführen möchte, seine User-ID kurzfristig ändern, so daß die Rechteüberprüfung im Kernel irregeleitet wird.
Gegenmaßnahmen
- Einspielen der Patches aus dem Original-Advisory
Weitere Artikel zu diesem Thema:
- [OpenBSD/Kernel] Race condition in ptrace() (2001-06-15)
Durch eine race condition im Zusammenhang mitsetuid
-Programmen undptrace()
können lokale Benutzerroot
-Rechte erlangen. - [Linux/Kernel] Problem in ptrace() (2001-02-12)
Durch eine race condition in ptrace() können lokale Benutzer root-Rechte auf Maschinen erlangen, die mit Linux-Kernel-Versionen vor 2.2.19 betrieben werden.
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=520