[Generic/wget] Schwachstelle in wget erlaubt beliebige Dateien zu löschen oder anzulegen
(2004-12-13 14:31:09.722132+01) Druckversion
Quelle: http://cert.uni-stuttgart.de/archive/bugtraq/2004/12/msg00106.html
Das Programm wget, das für das nicht-interaktve
herunterladen von Daten via HTTP, HTTPS und FTP z.B. in Skripten
verwendet werden kann, besitzt eine Schwachstelle. Diese kann dazu
führen, daß beliebige Dateien innerhalb des Dateibaumes an dessen Wurzel
wget aufgerufen wird, neu erzeugt oder Dateien
überschrieben werden.
Betroffene Systeme
- GNU wget 1.9.x
- GNU wget 1.8.x
- GNU wget der Versionen vor 1.8.x vermutlich ebenfalls
Einfallstor
- URL über den
wgetDaten anfordert - Entsprechende HTML-Antwort auf eine Anfrage durch
wget
Auswirkung
Schreiben bzw. Überschreiben beliebiger Dateien innerhalb des
Dateibaumes an dessen Wurzel wget aufgerufen wird
Typ der Verwundbarkeit
design Flaw
Gefahrenpotential
mittel bis hoch
(Hinweise zur
Einstufung
des Gefahrenpotentials.)
Kontext
GNU
wget ist ein Programm für das nicht-interaktive
herunterladen von Daten via HTTP, HTTPS und FTP und über HTTP-Proxies.
Die Eigenschaft der "Nicht-Interaktivität" ist wesentlich, da
wget dazu entwickelt wurde, aus Skripten und Programmen
heraus einfach aufrufbar zu sein.
Beschreibung
Das Programm wget besitzt eine Schwachstelle beim lokalen
Schreiben heruntergeladener Dateien.
Diese kann dazu führen, daß beliebige Dateien innerhalb des Dateibaumes
an dessen Wurzel wget aufgerufen wird, neu erzeugt oder
überschrieben werden. Ein Angreifer, der Kontrolle über einen
für den Download verwendeten URL hat, kann dies dazu ausnutzen,
systemwichtige Dateien des beherbergenden Rechnersystems in seinem Sinne
zu manipulieren. Dabei können auch Dateien überschrieben werden, die
nicht angefordert wurden, da beim lokalen Schreiben der Datei der Name
verwendet wird, den der angesprochene Server zurückliefert.
Wird z.B. wget im Verzeichnis /home/einuser/
aufgerufen, um eine Datei bild.jpg von einem Server
herunterzuladen, so wird die Datei
/home/einuser/.ssh/authorized_keys überschrieben, wenn der
Server, von dem heruntergeladen wird, als Antwort
./.ssh/authorized_keys zurückliefert, es wird kein Abgleich
der Namen der angeforderten und der zurückgelieferten Dateinamen
vorgenommen. Nach derzeitigem Kenntnisstand wäre es in diesem Szenario
nicht möglich, Dateien oberhalb des Verzeichnisses
/home/einuser/ anzulegen oder zu überschreiben.
Dieses Verhalten von wget kann vermieden werden,
sofern beim Aufruf die Option -o, die einen Ausgabepfad für
das Log, sowie
-O, die einen Ausgabepfad und damit den lokalen Namen der
herunterzuladenden Datei vorgibt, verwendet wird.
Sofern wget nur interaktiv aus der Kommandozeile heraus
aufgerufen wird, kann dieser Workaround das Problem wirksam
unterdrücken, jedoch ist im Einzelfall zu prüfen, ob wget
in Skripten aufgerufen wird und ob dort dieser Workaround installiert
werden kann.
Workaround
- Verwendung der Optionen
-ound-Obeim Aufruf vonwget - Prüfen aller Skripte, die
wgetaufrufen, ob die Schwachstelle ausgenutzt werden kann, ggf. entsprechende Änderung dieser Skripte.
Gegenmaßnahmen
- Es sind derzeit noch keine Patches verfügbar, die dieses Problem beheben.
Exploit-Status
- proof-of-concept-Code ist veröffentlicht.
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 © 2013 RUS-CERT, Universität Stuttgart, http://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.