Zranitelnost v HTTP serveru muhttpd umožňující přístup k souborům mimo pracovní adresář.

Na HTTP serveru muhttpd, který se převážně používá v routerech a přístupových bodech, byla zjištěna zranitelnost (CVE-2022-31793), která umožňuje neautentizovanému útočníkovi pomocí speciálně formátovaného HTTP požadavku nahrát libovolné soubory, jak to umožňují přístupová práva, pod kterými HTTP server běží (ve většině zařízení je muhttpd spouštěn s právy root). Útočník může například získat přístup k souborům s hesly, nastavením bezdrátového přístupu, parametry připojení k poskytovateli a soukromými klíči.

Problém je způsoben chybou při zpracování cesty v požadavku, která umožňuje přístup k souborům mimo kořenový adresář webového serveru. Útok spočívá v uvedení jakéhokoliv dalšího znaku na začátek cesty, který není tečka, lomítko ani otazník. Například pro načtení souboru /etc/hosts stačí odeslat požadavek «GET a/etc/hosts» nebo «GET a/etc/hosts» (printf «GET b/etc/hosts\n\n» | nc server port).

Příčina uvedeného chování spočívá v tom, že otevření požadovaného souboru se provádí příkazem «open(&req->filename[1], O_RDONLY)» s předchozím provedením funkce chdir() pro přechod do kořenového adresáře. Uvedení &req->filename[1] způsobuje ignorování prvního znaku cesty (vývojáři předpokládali, že první znak bude vždy «/»). Takto při požadavku «GET /etc/hosts» se server pokusí otevřít soubor pod relativní cestou «etc/hosts», ale pokud se na začátek uvede jakýkoliv další znak («GET a/etc/hosts») — následující cesta bude zpracována úplně. webového serveruProblém přetrvává od samotné první verze muhttpd a byl odstraněn v vydání 1.1.7. Mezi zařízeními, která používají muhttpd, byla existence problému potvrzena v routerech SaskTel a Arris. Potenciálně se problém může také projevovat v zařízeních vyráběných společnostmi AT&T, Frontier a Windstream. Při omezení přístupu k HTTP portu pouze pro interní síť může útok provést z externí sítě pomocí techniky «DNS rebinding», která umožňuje při otevření určité stránky uživatelem v prohlížeči odeslat HTTP požadavek na síťový port, který není dostupný pro přímé připojení přes internet.

Problém existuje od první verze muhttpd a byl odstraněn v vydání 1.1.7. U zařízení, která používají muhttpd, byla existence problému potvrzena u routerů SaskTel a Arris. Potenciálně může být problém také přítomen u zařízení vyráběných společnostmi AT&T, Frontier a Windstream. Pokud je přístup k portu HTTP omezen pouze na vnitřní síť, může být útok proveden z vnější sítě pomocí techniky 'DNS rebinding', která umožňuje odeslání HTTP požadavku na síťový port, nedostupný pro přímý přístup přes internet, při otevření určité stránky uživateli v prohlížeči.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster