Schwachstelle im HTTP-Server muhttpd, die den Zugriff auf Dateien außerhalb des Arbeitsverzeichnisses ermöglicht

Im HTTP-Server muhttpd, der ĂŒberwiegend in Routern und Access Points eingesetzt wird, wurde eine Schwachstelle (CVE-2022-31793) identifiziert, die es einem nicht authentifizierten Angreifer ermöglicht, durch das Senden einer speziell gestalteten HTTP-Anfrage beliebige Dateien herunterzuladen, soweit es die Berechtigungen zulassen, unter denen der HTTP-Server ausgefĂŒhrt wird (in vielen GerĂ€ten lĂ€uft muhttpd mit Root-Rechten). Beispielsweise kann ein Angreifer auf Dateien mit Passwörtern, Einstellungen fĂŒr drahtlose ZugĂ€nge, Verbindungsparameter zu Anbietern und private SchlĂŒssel zugreifen.

Das Problem beruht auf einem Fehler bei der Verarbeitung des Pfades in der Anfrage, der es erlaubt, auf Dateien außerhalb des Root-Verzeichnisses des Web-Servers zuzugreifen. Der Angriff besteht darin, am Anfang des Pfades ein beliebiges zusĂ€tzliches Zeichen anzugeben, das von Punkt, SchrĂ€gstrich und Fragezeichen abweicht. Zum Beispiel reicht das Senden der Anfrage „GET a/etc/hosts“ oder „GET a/etc/hosts“ (printf „GET b/etc/hosts\n\n“ | nc server port) aus, um die Datei /etc/hosts herunterzuladen.

Der Grund fĂŒr dieses Verhalten liegt darin, dass das Öffnen der angeforderten Datei durch den Befehl „open(&req->filename[1], O_RDONLY)“ mit vorheriger AusfĂŒhrung der Funktion chdir() zum Wechseln ins Root-Verzeichnis erfolgt. WebserverDie Angabe von &req->filename[1] fĂŒhrt dazu, dass das erste Zeichen des Pfades ignoriert wird (die Entwickler gingen davon aus, dass das erste Zeichen immer „/“ ist). Somit versucht der Server bei der Anfrage „GET /etc/hosts“, die Datei ĂŒber den relativen Pfad „etc/hosts“ zu öffnen, aber wenn man ein beliebiges zusĂ€tzliches Zeichen davor angibt („GET a/etc/hosts“) – wird der folgende Pfad vollstĂ€ndig verarbeitet.

Das Problem besteht seit der ersten Version von muhttpd und wurde in der Version 1.1.7 behoben. Bei GerĂ€ten, die muhttpd verwenden, wurde das Problem in den Routern von SaskTel und Arris bestĂ€tigt. Potenziell kann das Problem auch bei GerĂ€ten auftreten, die von AT&T, Frontier und Windstream hergestellt werden. Bei EinschrĂ€nkung des Zugriffs auf den HTTP-Port nur fĂŒr das interne Netzwerk kann der Angriff aus dem externen Netzwerk mittels der DNS-Rebinding-Technik durchgefĂŒhrt werden, die es bei Öffnung einer bestimmten Seite durch den Benutzer im Browser ermöglicht, eine HTTP-Anfrage an einen Netzwerkport zu senden, der nicht direkt ĂŒber das Internet zugĂ€nglich ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4