[Generic/OpenSSH] Pufferüberlauf im OpenSSH-Server und -Client (Update)
(2003-09-17 08:28:04.131952+00)
Quelle:
http://www.mindrot.org/pipermail/openssh-unix-announce/2003-September/000063.html
Mehrere Fehler in der Pufferverwaltung der OpenSSH-Programme sind entdeckt worden. Nicht alle diese Fehler wurden in OpenSSH 3.7 (vom 2003-09-16) behoben.
Betroffene Systeme
- Systeme, die OpenSSH vor Version 3.7.1 (einschließlich 3.7)
- Möglicherweise sind weitere SSH-Implementierungen betroffen.
Nicht betroffene Systeme
- OpenSSH ab Version 3.7.1
- Systeme, die mit entsprechenden Vendor-Patches zur Behebung der Schwachstelle versehen sind, die aber i.d.R. nicht die Versionsnummer ändern.
Einfallstor
SSH-Verbindungen (Port 22/TCP)
Auswirkung
Wahrscheinlich Systemkompromittierung (bei erfolgreichem Angriff)
Typ der Verwundbarkeit
buffer overflow bug
Gefahrenpotential
sehr hoch (falls tatsächlich ausnutzbar)
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
In dem Code zur Pufferverwaltung ist ein Pufferüberlauffehler enthalten. Dieser Code wird sowohl vom SSH-Client, als auch vom SSH-Server verwendet.
Falls ein Puffer zu groß wird, wird das Programm abgebrochen, ohne daß ein neuer, größerer Speicherblock angefordert wird. Die Länge des Speicherblocks wurde allerdings schon vorher heraufgesetzt. Während des Programmabbruchs wird daher der betroffene Puffer über das Ende hinaus mit Nullen überschrieben (diese Maßnahme soll Datenlecks verhindern). Da nur Nullen in den Speicher geschrieben werden, der Angreifer somit keine Kontrolle über die geschriebenen Daten hat und das Programm bald beendet wird (so daß das Überschreiben von Variablen dem SSH-Dämon keine Authentifizierung vorgaukeln kann), erscheint es ziemlich unwahrscheinlich, daß die Schwachstelle tatsächlich ausgenutzt werden kann.
Update: Inzwischen sind weitere Stellen mit ähnlichen Fehlern entdeckt worden. Diese Fehler wurden durch das erste OpenSSH-Update (OpenSSH 3.7) nicht behoben. Die neuen Fehler sind etwa genauso kritisch wie die alten.
Allerdings ist SSH ein sehr kritischer Dienst, weswegen ein Update bzw. ein Patch trotzdem möglichst bald eingespielt werden sollte.
Der Fehler liegt in einem sehr alten Teil des OpenSSH-Codes. Er scheint noch von einer der alten, freien SSH-Versionen von Tatu Ylonen übernommen worden zu sein. Es besteht daher die Möglichkeit, daß weitere SSH-Implementierung (insbesondere solche für Protokoll 1) diesen Fehler ebenfalls enthalten.
Es existieren zahlreiche Gerüchte über Angriffsprogramme. Allerdings liegt keine Bestätigung aus glaubhafter Quelle vor. Auch dem OpenSSH-Team scheint kein Angriffsprogramm vorzuliegen.
Gegenmaßnahmen
- Update auf OpenSSH 3.7.1.
- Einspielen des Patches (für OpenSSH 3.6.x und früher bzw. für OpenSSH 3.7) aus dem OpenSSH-Advisory.
Vulnerability ID
- CAN-2003-0693 (für den ersten Fehler)
- CERT/CC Vulnerability Note VU#333628 (ebenfalls für den ersten Fehler)
- CAN-2003-0695 (für den zweiten Satz Fehler)
Revisionen dieser Meldung
- V. 1.0 (2003-09-16)
- V. 2.0 (2003-09-17) Weitere, sehr ähnliche Fehler wurden entdeckt
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=1147