Podatność prowadząca do RCE w Apache Superset

Osoby odpowiedzialne za utrzymanie oprogramowania open source do wizualizacji danych Apache Superset opublikowali poprawki mające na celu załatanie luki oznaczonej jako CVE-2023-27524 która mogłaby prowadzić do zdalnego wykonania kodu (Remote Code Execution).

Luka oznaczona jako CVE-2023-27524 (uzyskała wynik CVSS na poziomie 8.9), dotyczy wersji do 2.0.1 włącznie i dotyczy użycia domyślnego klucza SECRET_KEY, który może zostać wykorzystany przez osoby atakujące w celu uwierzytelnienia i uzyskania dostępu do nieautoryzowanych zasobów na instancjach udostępnionych w internecie.

Warto zauważyć, że luka nie wpływa na instancje Superset, które zmieniły domyślną wartość konfiguracji SECRET_KEY na bardziej kryptograficznie bezpieczny losowy ciąg.

Badacze z Horizon3.ai, firmy zajmującej się cyberbezpieczeństwem, stwierdzili, że SECRET_KEY ma domyślną wartość „\x02\x01thisismyscretkey\x01\x02\e\y\y\h”. Stwierdzili również, że 918 z 1288 publicznie dostępnych serwerów korzystało z domyślnej konfiguracji w październiku 2021 r.

Znając klucz, atakujący mógłby zalogować się na serwery jako administrator, sfałszować sesyjny plik cookie i następnie przejąć kontrolę nad systemami.

W styczniu 2022 r. osoby odpowiedzialne za utrzymanie, podjęły próbę rozwiązania problemu, zmieniając wartość SECRET_KEY na „CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET” w kodzie Pythona wraz z instrukcjami użytkownika, tak aby go zastąpić.

Badacze zHorizon3.ai stwierdzili ponadto, że znaleźli dwie dodatkowe konfiguracje SECRET_KEY, którym przypisano wartości domyślne „USE_YOUR_OWN_SECURE_RANDOM_KEY” i „thisISaSECRET_1234”.

Rozszerzone wyszukiwanie przeprowadzone w lutym 2023 r. przy użyciu tych czterech kluczy ujawniło 3176 instancji, z których 2124 korzystało z jednego z kluczy domyślnych. Niektóre z tych, których to dotyczy, to duże korporacje, małe firmy, agencje rządowe i uniwersytety.

W kwietniu 2023 r. opublikowano nową aktualizację (wersja 2.1), aby załatać lukę w zabezpieczeniach, uniemożliwiając całkowite uruchomienie serwera, jeśli jest skonfigurowany z domyślnym kluczem SECRET_KEY.

„Ta poprawka nie jest jednak niezawodna, ponieważ nadal można uruchomić Superset z domyślnym kluczem SECRET_KEY, jeśli jest on zainstalowany za pomocą dockerfile lub helm template” — powiedział Sunkavally.

„Docker file zawiera nowy domyślny SECRET_KEY z TEST_NON_DEV_SECRET, z którym, jak podejrzewamy, niektórzy użytkownicy nieświadomie uruchomią Superset. Niektóre konfiguracje ustawiają również admin/admin jako domyślne poświadczenie dla administratora”.

Badacze z Horizon3.ai udostępnili również skrypt (w Python), którego można użyć do określenia, czy instancje Superset są podatne na lukę.

„Powszechnie przyjmuje się, że użytkownicy nie czytają dokumentacji, a aplikacje powinny być zaprojektowane tak, aby zmusić użytkowników do podążania ścieżką, na której nie mają innego wyboru, jak tylko domyślnie zapewnić bezpieczeństwo” — podsumował Sunkavally. „Najlepszym podejściem jest odebranie użytkownikom możliwości wyboru i wymaganie od nich podejmowania celowych działań, aby celowo czuć się niepewnie”.

Jaki z tego wniosek? Należy dokładnie przeczytać dokumentację, zanim podejmie się jakieś konkretne decyzje co do budowy architektury. Zawsze trzeba pamiętać o stosowaniu dobrych praktyk bezpieczeństwa, a gdy się czegoś nie wie, to ponownie sprawdzić, dopytać i oddać do testów bezpieczeństwa. Na pewno zwiększy to znacząco bezpieczeństwo systemów i aplikacji.

źródło: https://thehackernews.com/2023/04/apache-superset-vulnerability-insecure.html

Dodaj komentarz

Ta witryna wykorzystuje usługę Akismet aby zredukować ilość spamu. Dowiedz się w jaki sposób dane w twoich komentarzach są przetwarzane.