Stabsstelle DV-Sicherheit der
Universität Stuttgart (RUS-CERT)
https://cert.uni-stuttgart.de
logo
Meldung Nr: RUS-CERT-1378

[Generic/GNU findutils] Pufferüberlaufschwachstelle in 'locate'
(2007-06-01 15:19:10.387251+00)

Quelle: http://archive.cert.uni-stuttgart.de/bugtraq/2007/05/msg00424.html

Eine Pufferüberlaufschwachstelle im Programm locate der GNU findutils kann von einem Angreifer dazu ausgenutzt werden, beliebigen Programmcode mit den Privilegien des locate-Prozesses auf dem beherbergenden Rechnersystem auszuführen.

Betroffene Systeme

Nicht betroffene Systeme

Einfallstor
Manipulation eines Dateinamens, der durch updatedb indiziert und mittels locate abgefragt werden kann

Angriffsvoraussetzung

  1. Möglichkeit der Manipulation von Dateinamen
    • durch lokale Benutzer (local)
    • durch entfernte Benutzer, wenn die Konfiguration des beherbergenden Rechnersystems dies zulässt, z.B. auf einem FTP-Server, der das Hochladen von Dateien erlaubt (remote)
  2. Lokaler Benutzer, der das Programm locate ausführt
  3. locate-Installation mit altem Datenbankformat ('old-format')

Auswirkung
Ausführung beliebigen Programmcodes mit den Privilegien des locate aufrufenden Benutzers
(user compromise)

Typ der Verwundbarkeit
Pufferüberlaufschwachstelle
(buffer overflow bug)

Gefahrenpotential
hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)

Kontext
Die GNU Find Utilies sind die Standardwerkzeuge unter Unix-Betriebssystemen und Linux um im Dateisystem zu suchen. Es besteht aus fogenden Programmen:

Die findutils sind standardmäßig bei in GNU/Linux und GNU/Hurd sowie z.T. auch anderen Unix-Betriebssystemen installiert und so konfiguriert, dass eine Indexdatenbank für die Abfrage mit locate bereitsteht und regelmäßig aktualisiert wird.

Beschreibung
Eine Heap-basierte Pufferüberlaufschwachstelle im Programm locate der GNU findutils kann von einem Angreifer dazu ausgenutzt werden, beliebigen Programmcode mit den Privilegien des locate-Prozesses auf dem beherbergenden Rechnersystem auszuführen. Dies sind im Allgemeinen die Privilegien des aufrufenden Benutzers.

Die Schwachstelle tritt auf, wenn locate bei einer Anfrage eine Index-Datenbank im alten LOCATE-Format liest. Dabei werden alleDateinamen in einen Puffer mit einer festen Länge von 1026 Byte gelesen. Längere Dateinamen überschreiben die Puffergrenze und erlauben einem Angreifer, Daten in angrenzende Speicherbereiche zu schreiben.

Prinzipiell sind alle Benutzer, die Dateinamen manipulieren können, in der Lage, die Schwachstelle auszunutzen. Dies sind zunächst alle lokalen Benutzer. Jedoch gibt es Szenarien, bei denen externe, und in besonderen Fällen sogar unauthentifizierte, Benutzer solches vermögen. Dies kann z.B. bei FTP-Servern der Fall sein, die es erlauben Dateien hochzuladen.

Um die Schwachstelle erfolgreich auszunutzen, muss der Angreifer zunächst einen entsprechenden Dateinamen anlegen, und ihn im alten LOCATE-Format indizieren lassen. Letzteres geschieht im allgemeinen automatisch durch einen cron-Prozess mittles des Programms updatedb, kann aber auch durch dessen manuellen Aufruf bewirkt werden.
Sobald dann ein lokaler Benutzer (vorzugsweise ein Benutzer mit höherern Privilegien als der Angreifer, sonst nützt der ganze Aufwand nichts) das Programm locate aufruft, wird ein Pufferüberlauf provoziert in dessen Folge durch den Angreifer festgelegte Programmcode mit den Privilegen des aufrufenden Benutzers ausgeführt werden kann.

Durch diese Schwachstelle kann sich ein lokaler Angreifer höhere Privilegien verschaffen und ein entfernter Angreifer z.B. in o.g. FTP-Szenario interaktiven Zugang zu einem verwundbaren System erlangen.

Workaround

Gegenmaßnahmen

Vulnerability ID

Weitere Information zu diesem Thema

Revisionen dieser Meldung

(og)

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 © 2017 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/


https://cert.uni-stuttgart.de/ticker/article.php?mid=1378