Im HTTP-Server muhttpd, der hauptsĂ€chlich in Routern und Access Points eingesetzt wird, wurde eine SicherheitsanfĂ€lligkeit (CVE-2022-31793) entdeckt, die einem nicht authentifizierten Angreifer ermöglicht, durch das Senden einer speziell gestalteten HTTP-Anfrage beliebige Dateien herunterzuladen, abhĂ€ngig von den Berechtigungen, unter denen der HTTP-Server ausgefĂŒhrt wird (in vielen GerĂ€ten wird muhttpd mit Root-Rechten gestartet). Beispielsweise kann ein Angreifer auf Dateien mit Passwörtern, WLAN-Konfigurationen, Verbindungseinstellungen zum Anbieter und privaten SchlĂŒsseln zugreifen.
Das Problem wird durch einen Fehler bei der Verarbeitung des Pfades in der Anfrage verursacht, wodurch Dateien auĂerhalb des Root-Verzeichnisses des Webservers angesprochen werden können. Der Angriff besteht darin, am Anfang des Pfades ein beliebiges zusĂ€tzliches Zeichen anzugeben, das weder Punkt, Slash noch Fragezeichen ist. Zum Beispiel reicht es aus, fĂŒr den Zugriff auf die Datei /etc/hosts die Anfrage âGET a/etc/hostsâ oder âGET a/etc/hostsâ zu senden (printf âGET b/etc/hosts\n\nâ | nc server port).
Der Grund fĂŒr das angegebene Verhalten liegt darin, dass die angeforderte Datei mit dem Befehl âopen(&req->filename[1], O_RDONLY)â geöffnet wird, nachdem die Funktion chdir() ausgefĂŒhrt wurde, um zum Root-Verzeichnis zu wechseln. Webserver. Das Angeben 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). Bei der Anfrage âGET /etc/hostsâ wird der Server versuchen, die Datei unter dem relativen Pfad âetc/hostsâ zu öffnen. Wenn jedoch zu Beginn ein zusĂ€tzliches Zeichen angegeben wird (âGET a/etc/hostsâ), wird der nachfolgende Pfad vollstĂ€ndig verarbeitet.
Das Problem besteht seit der ersten Version von muhttpd und wurde in der Version 1.1.7 behoben. Die Problemstellung wurde bei GerĂ€ten, die muhttpd verwenden, in den Routern von SaskTel und Arris bestĂ€tigt. Möglicherweise kann das Problem auch in GerĂ€ten von AT&T, Frontier und Windstream auftreten. Bei der EinschrĂ€nkung des Zugriffs auf den HTTP-Port nur fĂŒr das interne Netzwerk kann ein Angriff aus dem externen Netzwerk mittels der Technik "DNS Rebinding" durchgefĂŒhrt werden, die es ermöglicht, bei Besuch einer bestimmten Seite im Browser eine HTTP-Anfrage an einen Netzwerkport zu senden, der nicht direkt ĂŒber das Internet erreichbar ist.
Quelle: opennet.ru
