Luka w zabezpieczeniach umożliwiająca wykonanie kodu w libXpm

Opublikowano wersję korygującą biblioteki libXpm 3.5.15, opracowanej w ramach projektu X.Org i służącej do przetwarzania plików w formacie XPM. Nowa wersja naprawia trzy luki, z czego dwie (CVE-2022-46285, CVE-2022-44617) prowadzą do pętli podczas przetwarzania specjalnie zaprojektowanych plików XPM. Trzecia luka (CVE-2022-4883) umożliwia wykonanie dowolnych poleceń podczas uruchamiania aplikacji korzystających z biblioteki libXpm. Podczas uruchamiania uprzywilejowanych procesów związanych z biblioteką libXpm, na przykład programów z flagą root suid, luka umożliwia eskalację uprawnień.

Luka wynika ze sposobu, w jaki libXpm współpracuje ze skompresowanymi plikami XPM - podczas przetwarzania plików XPM.Z lub XPM.gz biblioteka uruchamia zewnętrzne narzędzia do dekompresji (uncompress lub gunzip) za pomocą wywołania execlp(), na podstawie którego obliczana jest ścieżka do na zmiennej środowiskowej PATH. Atak polega na umieszczeniu w dostępnym dla użytkownika katalogu, znajdującym się na liście PATH, własnych plików wykonywalnych dekompresowanych lub wykonywalnych metodą gunzip, które zostaną wykonane w przypadku uruchomienia aplikacji korzystającej z libXpm.

Lukę naprawiono poprzez zastąpienie wywołania execlp wywołaniem execl przy użyciu bezwzględnych ścieżek do narzędzi. Dodatkowo dodano opcję montażu „--disable-open-zfile”, która pozwala wyłączyć przetwarzanie skompresowanych plików i wywoływanie zewnętrznych narzędzi w celu rozpakowania.

Źródło: opennet.ru

Dodaj komentarz