Analiza bezpieczeństwa BusyBox ujawnia 14 drobnych luk

Badacze z Claroty i JFrog opublikowali wyniki audytu bezpieczeństwa pakietu BusyBox, szeroko stosowanego w urządzeniach wbudowanych i oferującego zestaw standardowych narzędzi UNIX spakowanych w jednym pliku wykonywalnym. Podczas skanowania zidentyfikowano 14 luk, które zostały już naprawione w sierpniowym wydaniu BusyBox 1.34. Prawie wszystkie problemy są nieszkodliwe i wątpliwe z punktu widzenia wykorzystania w prawdziwych atakach, ponieważ wymagają uruchomienia narzędzi z argumentami otrzymanymi z zewnątrz.

Osobną luką jest CVE-2021-42374, która pozwala spowodować odmowę usługi podczas przetwarzania specjalnie zaprojektowanego skompresowanego pliku narzędziem unlzma, a w przypadku montażu z opcją CONFIG_FEATURE_SEAMLESS_LZMA także z dowolnymi innymi komponentami BusyBox, w tym tar, rozpakuj, obr/min, dpkg, lzma i man .

Luki CVE-2021-42373, CVE-2021-42375, CVE-2021-42376 i CVE-2021-42377 mogą spowodować odmowę usługi, ale wymagają uruchomienia narzędzi man, ash i hush z parametrami określonymi przez atakującego. Luki od CVE-2021-42378 do CVE-2021-42386 wpływają na narzędzie awk i mogą potencjalnie prowadzić do wykonania kodu, ale w tym celu osoba atakująca musi upewnić się, że określony wzorzec zostanie wykonany w awk (konieczne jest uruchomienie awk z otrzymanymi danymi od napastnika).

Dodatkowo można zauważyć także lukę (CVE-2021-43523) w bibliotekach uclibc i uclibc-ng, polegającą na tym, że przy dostępie do funkcji gethostbyname(), getaddrinfo(), gethostbyaddr() i getnameinfo(), nazwa domeny nie jest sprawdzana, a nazwa zwracana przez serwer DNS jest czyszczona. Na przykład w odpowiedzi na określone żądanie rozwiązania serwer DNS kontrolowany przez osobę atakującą może zwrócić hosty takie jak „ alert(‘xss’) .attacker.com” i zostaną one zwrócone w niezmienionej postaci do jakiegoś programu, który bez czyszczenia będzie mógł je wyświetlić w interfejsie WWW. Problem został rozwiązany w wersji uclibc-ng 1.0.39 poprzez dodanie kodu sprawdzającego poprawność zwracanych nazw domen, zaimplementowanego podobnie jak w Glibc.

Źródło: opennet.ru

Dodaj komentarz