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
