[Generic/Linux] Schwachstelle in nfs-utils-Funktion xlog()
(2003-07-16 13:07:40.834569+00) Druckversion
Quelle: http://cert.uni-stuttgart.de/archive/vulnwatch/2003/07/msg00023.html
Ein off-by-one bug in der Funktion xlog()
des
nfs-utils
Paketes ermöglicht einem Angreifer durch das
Senden eines speziell formulierten RPC-Requests an den
mount
-daemon eines NFS-Servers möglicherweise die
Kompromittierung des beherbergenden Rechnersystems.
Betroffene Systeme
- GNU/Linux-Systeme, die NFS mit
nfs-utils
der Versionen vor 1.0.4 betreiben
Nicht betroffene Systeme
nfs-utils
ab Version 1.0.4- Systeme, die mit entsprechenden Vendor-Patches zur Behebung der Schwachstelle versehen sind, die aber i.d.R. nicht die Versionsnummer ändern.
Einfallstor
Speziell formulierter RPC-Request an mountd
Auswirkung
Kompromittierung des beherbergenden Rechnersystems
(remote root compromise)
Typ der Verwundbarkeit
off-by-one bug
Gefahrenpotential
sehr hoch
(Hinweise zur
Einstufung
des Gefahrenpotentials.)
Kontext
RPC (Remote Procedure Call) wird vor allem zur Kommunikation von
Prozessen auf verteilt arbeitenden Systemen benutzt, es wird jedoch auch
zur Interprozeßkommunikation auf ein und demselben Rechner
verwendet.
NFS (Network File System) ist ein RPC-basierter Dienst, der verteilte
Dateisysteme über Netzverbindungen ermöglicht. Ein NFS-Server exportiert
dabei Dateisysteme, die NFS-Clients wie lokal vorhandene
Filesysteme in den eigenen Dateisystembaum montieren
(mount) können. Serverseitig wacht der mountd
(mount daemon) darüber, daß nur autorisierte Clientsysteme tatsächlich
exportierte Systeme montieren dürfen und stellt diese nach Empfang eines
entsprechenden MOUNT
-Requests zur Verfügung.
Beschreibung
Die Funktion xlog()
, die vom nfs-utils
-Paket
für das Logging von Requests durch den mountd
bereitgestellt wird enthält einen off-by-one-Fehler. Wird
dieser Funktion ein String der Länge 1023 Bytes oder größer übergeben,
kann die Puffergrenze überschrieben werden. Dies kann prinzipiell dazu
ausgenutzt werden, beliebigen Programmcode mit den Privilegien des
mountd
auszuführen. Üblicherweise läuft mountd
mit der UID=0 (root)
.
Es gibt Hinweise, daß die Ausnutzung dieser Schwachstelle nicht vollständig trivial ist.
Workaround
Generell ist anzumerken, daß NFS nicht in öffentlichen Netzen
betrieben werden sollte, da die zugrundeliegenden Protokolle nur
minimale Sicherheitsmerkmale bieten. Netze, in denen NFS betrieben wird,
sollten daher stark - z. B. durch Firewalls - abgesichert sein, Zugriffe
von außerhalb der Netze auf NFS-Dienste unterbunden sein. Innerhalb der
Netze sollten die Zugriffe auf NFS-Dienste beschränkt werden auf
Systeme, die diese Dienste nutzen dürfen. Dabei sollten nicht nur die
Sicherheitsmerkmale benutzt werden, die NFS bietet, sondern weitere, wie
beispielsweise Paketfiltersysteme.
Gegenmaßnahmen
Installation eines Patches:
Vulnerability ID
Exploit Code
Offenbar ist seit längerer Zeit Exploit Code verfügbar, der scheinbar aber nicht zur Kompromittierung eines
Rechnersystems genutzt werden kann. Dem RUS-CERT sind bis dato keine
erfolgreichen Kompromittierungen, die unter Ausnutzung dieser
Schwachstelle erfolgten, bekannt.
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 © 2018 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
Vorherige Meldung | Weitere Meldungen... | Nächste Meldung |
Bitte lesen Sie auch die Grundsätze, nach denen das RUS-CERT Tickermeldungen veröffentlicht. Der regelmäßige Bezug von Tickermeldungen über E-Mail und RSS-Feed ist ebenfalls möglich.