Kwetsbaarheid in de HTTP-server muhttpd, die toegang biedt tot bestanden buiten de werkdirectory

In de HTTP-server muhttpd, die voornamelijk wordt gebruikt in routers en toegangspunten, is een kwetsbaarheid ontdekt (CVE-2022-31793) die een niet-geauthenticeerde aanvaller in staat stelt om via een speciaal opgemaakt HTTP-verzoek willekeurige bestanden te uploaden, afhankelijk van de toegangsrechten waaronder de HTTP-server draait (in veel apparaten wordt muhttpd met root-rechten uitgevoerd). Een aanvaller kan bijvoorbeeld toegang krijgen tot bestanden met wachtwoorden, draadloze toegang instellingen, providerverbindingen en privésleutels.

Het probleem wordt veroorzaakt door een fout in de verwerking van het pad in het verzoek, waardoor toegang kan worden verkregen tot bestanden buiten de rootmap van de webserver. De aanval berust op het opgeven van een extra teken, anders dan een punt, schuine streep of vraagteken, aan het begin van het pad. Bijvoorbeeld, om het bestand /etc/hosts te uploaden, is het voldoende om het verzoek "GET a/etc/hosts" of "GET a/etc/hosts" (printf "GET b/etc/hosts\n\n" | nc server port) te versturen.

De reden voor dit gedrag is dat het openen van het aangevraagde bestand gebeurt met de opdracht "open(&req->filename[1], O_RDONLY)" na het uitvoeren van de functie chdir() om naar de root te gaan. Het opgeven van &req->filename[1] leidt tot het negeren van het eerste teken van het pad (de ontwikkelaars gingen ervan uit dat het eerste teken altijd "/" is). Bij een verzoek "GET /etc/hosts" zal de server proberen het bestand te openen via het relatieve pad "etc/hosts", maar als een extra teken aan het begin wordt opgegeven ("GET a/etc/hosts") — zal het daaropvolgende pad volledig worden verwerkt. webserverHet probleem is aanwezig sinds de allereerste versie van muhttpd en is verholpen in de release 1.1.7. Bij apparaten die muhttpd gebruiken, is het probleem bevestigd in routers van SaskTel en Arris. Potentieel kan het probleem zich ook voordoen in apparaten die door AT&T, Frontier en Windstream worden geproduceerd. Wanneer de toegang tot de HTTP-poort alleen is beperkt tot het interne netwerk, kan een aanval vanuit een extern netwerk worden uitgevoerd met behulp van de techniek "DNS rebinding", waarmee een HTTP-verzoek naar een netwerkpoort kan worden verzonden die niet direct toegankelijk is via internet wanneer de gebruiker een bepaalde pagina in de browser opent.

Het probleem is aanwezig sinds de allereerste versie van muhttpd en is verholpen in release 1.1.7. Het probleem is bevestigd in routers van SaskTel en Arris die muhttpd gebruiken. Potentieel kan het probleem zich ook voordoen in apparaten van AT&T, Frontier en Windstream. Bij beperking van de toegang tot de HTTP-poort alleen voor het interne netwerk, kan de aanval van buitenaf worden uitgevoerd met behulp van de techniek ‘DNS rebinding’, waarmee een HTTP-verzoek naar een netwerkpoort kan worden verzonden die niet rechtstreeks toegankelijk is via internet wanneer een gebruiker een bepaalde pagina in de browser opent.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster