Luka w serwerze HTTP muhttpd, która umożliwia dostęp do plików poza katalogiem roboczym

W serwerze HTTP muhttpd, wykorzystywanym głównie w routerach i punktach dostępowych, zidentyfikowano lukę (CVE-2022-31793), która umożliwia nieuwierzytelnionemu atakującemu pobranie dowolnych plików poprzez wysłanie specjalnie spreparowanego żądania HTTP, o ile prawa dostępu określone w na którym działa serwer HTTP, zezwolenie (na wielu urządzeniach muhttpd działa jako root). Osoba atakująca może na przykład uzyskać dostęp do plików zawierających hasła, ustawienia dostępu bezprzewodowego, parametry połączenia z dostawcą i klucze prywatne.

Problem wynika z błędu w przetwarzaniu ścieżki w żądaniu, która umożliwia dostęp do plików spoza katalogu głównego serwera WWW. Atak sprowadza się do podania na początku ścieżki dowolnego dodatkowego znaku innego niż kropka, ukośnik i pytanie. Na przykład, aby pobrać plik /etc/hosts, wystarczy wysłać żądanie „GET a/etc/hosts” lub „GET a/etc/hosts” (printf „GET b/etc/hosts\n\n” | serwer nc Port).

Powodem takiego zachowania jest to, że żądany plik jest otwierany za pomocą polecenia „open(&req->filename[1], O_RDONLY)” z wstępnym wykonaniem funkcji chdir() w celu przejścia do katalogu głównego serwery internetowePodanie &req->filename[1] powoduje zignorowanie pierwszego znaku ścieżki (twórcy zamierzali, aby pierwszym znakiem zawsze był znak „/”). Dlatego podczas żądania „GET /etc/hosts” serwer spróbuje otworzyć plik w ścieżce względnej „etc/hosts”, ale jeśli na początku zostanie podany dodatkowy znak („GET a/etc/hosts”), dalsza ścieżka zostanie przetworzona w całości.

Problem występuje od pierwszej wersji muhttpd i został naprawiony w wersji 1.1.7. W przypadku urządzeń korzystających z muhttpd potwierdzono, że problem występuje w routerach SaskTel i Arris. Problem może potencjalnie dotyczyć także urządzeń produkowanych przez AT&T, Frontier i Windstream. W przypadku ograniczenia dostępu do portu HTTP tylko dla sieci wewnętrznej, atak można przeprowadzić z sieci zewnętrznej wykorzystując technikę „ponownego wiązania DNS”, która pozwala, gdy użytkownik otworzy określoną stronę w przeglądarce, wysłać żądanie HTTP do portu sieciowego, do którego nie można uzyskać bezpośredniego dostępu przez Internet.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster