[Generic/login] Ernste Schwachstelle in der Login-Prozedur verschiedener Unix-Systeme (Patchinformation aktualisiert)
(2001-12-13 13:47:04+00)
Quelle:
http://cert.uni-stuttgart.de/archive/bugtraq/2001/12/msg00124.html
Der Code des System V-Programmes login
enthält einen buffer overflow bug, der über eine Netzwerkverbindung dazu ausgenutzt werden kann, das beherbergende System zu kompromittieren.
Betroffene Systeme
Unix-Systeme, die eine auf dem Code des System V basierende login
-Implementierung besitzen:
- IBM AIX in den Versionen 4.2, 4.3 und 5.1 (ältere Versionen können auch betroffen sein)
- HP-UX (vermutlich alle Versionen)
- SCO OpenServer 5.0.6 und frühere Versionen
- SGI IRIX 3.x
- Sun Solaris 8 und frühere Versionen
Nicht betroffene Systeme
Unix-Systeme, deren login
-Implementierung nicht auf dem Code der Implementierung des System V basieren:
- Apple Mac OS X
- Vermutlich alle BSD-Varianten und Versionen
- Compaq/Digital Tru64-Unix, alle Versionen
- Cray UNICOS, alle Versionen
- vermutlich alle Linux-Distributionen
Einfallstor
Dienste, die login
verwenden, wie z.B. Telnet und rlogin
(eventuell auch SSH bei Verwendung von UseLogin
).
Auswirkung
Kompromittierung des beherbergenden Systems über eine Netzwerkverbindung
(remote root compromise)
Typ der Verwundbarkeit
buffer overflow bug
Gefahrenpotential
sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
Unter System V und Derivaten akzeptiert das Programm login
neben dem Benutzernamen weitere Argumente, wie z.B. Umgebungsvariablen, die vor dem Aufruf der Login-Shell gesetzt werden. Die Überprüfung der Anzahl der übergebenen Argumente wird in der login
-Implementierung des System V sowie einer Anzahl davon abgeleiteter Implemetierungen nicht korrekt durchgeführt, was bei entsprechender Anzahl zu einem Überlauf des Feldes führt. Ein Angreifer kann diesen Umstand dazu ausnutzen, beliebigen Programmcode mit den Rechten des aufrufenden Prozesses auszuführen.
Kontext
Auf den meisten Systemen besitzt login
kein SUID=root
-Bit, so daß login
mit den Privilegien des aufrufenden Prozesses ausgeführt wird.
Allerdings wird login
standardmäßig von Prozessen wie telnetd
und rlogind
, die mit root
-Privilegien ausgeführt werden, aufgerufen. Da diese beiden Prozesse unauthentifizierte Verbindungen von außen akzeptieren, kann die Schwachstelle in login
von einem Angreifer über eine Netzwerkverbindung dazu ausgenutzt werden, das beherbergende System zu kompromittieren.
Hinweis: Verschiedene SSH-Implementierungen verwenden bei entsprechender Konfiguration ebenfalls das login
-Programm. Dadurch können hier ebenfalls Probleme auftreten.
Exploit Code
Nach Angaben von CERT/CC existiert bereits ein Programm (exploit code), um die Schwachstelle auszunutzen, der möglicherweise auch schon im Netz kursiert.
Workaround
- Filterung von Ports, die von Prozessen benutzt werden, die
login
aufrufen:
(Möglicherweise verwenden weitere DiensteTCP-Port Dienst 23 telnetd
513 rlogin
login
, die ebenfalls gesperrt werden sollten.) Hinweis: Diese Maßnahme beseitigt nicht die Schwachstelle sondern schränkt lediglich die Zahl der potentellen Angreifer ein. - Abschaltung
login
-aufrufender Dienste. Die Dienstetelnet
,rlogin
undremshell
werden üblicherweise nicht beim Systemboot gestartet, sondern auf Anforderung voninetd
. Daher reicht es zur Durchführung dieser Maßnahme aus, die entsprechenden Zeilen in der Datei/etc/inetd.conf
durch ein am Anfang der Zeile eigefügtes Doppelkreuz '#
' auszukommentieren und danach durch das Kommando# kill -HUP <PID des inetd>
neuzustarten. Die Prozeß-ID (PID
) desinetd
kann durch das Kommando# ps -ef | grep inetd
ermittelt werden. - Bei Verwendung von OpenSSH sollte die
UseLogin
-Direktive deaktiviert werden (die Standardeinstellung). Lesen Sie hierzu auch die Stellungnahme des OpenSSH-Projektes zu diesem Thema.
Gegenmaßnahmen
Installation der entsprechenden Hersteller-Patches:
- HP stellt Patch PHCO_25591 für HP-UX 10.20 zur Verfügung.
- IBM stellt einen Emergency-Patch zur Verfügung:
- SCO stellt Patches zur Verfügung:
- Patch für SCO OpenServer Release 5.0.6:
ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.40/erg711877.506.tar.Z - Patch für SCO OpenServer Release 5.0.5 und frühere Releases:
ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.40/erg711877.505.tar.Z
- Patch für SCO OpenServer Release 5.0.6:
- SGI stellt keinen Patch zur Verfügung, da lediglich die nicht mehr aktuellen IRIX 3.x-Versionen betroffen sind.
- Sun stellt Patches zur Verfügung:
- Betriebssystem
PatchID - Solaris 8
111085-02 - Solaris 8 x86
111086-02 - Solaris 7
112300-01 - Solaris 7 x86
112301-01 - Solaris 2.6
105665-04 - Solaris 2.6 x86
105666-04 - Solaris 2.5.1
106160-02 - Solaris 2.5.1 x86
106161-02
Vulnerability ID
- VU#569272 (CERT/CC)
Weitere Artikel zu diesem Thema:
- [Generic/telnet] Schwachstelle in telnet daemons verschiedener Hersteller (Update) (2001-07-24)
Die Implementierungen destelnet daemon
verschiedener Hersteller auf der Codebasis desBSD telnetd
besitzen eine Schwachstelle, die Angreifern die Ausführung beliebigen Programmcodes mit den Privilegien diesesdaemon
ermöglicht.
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=626