Tysiące polskich stron korzysta z podatnej wersji Drupala

dodał 3 kwietnia 2018 o 08:02 w kategorii Błędy  z tagami:
Tysiące polskich stron korzysta z podatnej wersji Drupala

(źródło: fastjack)

Jeśli korzystacie z Drupala, to upewnijcie się, że zaktualizowaliście go do najnowszej wersji. Od dwóch dni znany jest błąd umożliwiający zdalne wykonanie kodu bez uwierzytelniania. Niestety tysiące polskich stron nie dokonało jeszcze aktualizacji.

Ale o co chodzi?

Drupal jest popularnym rozwiązaniem do zarządzania treścią, które posiada otwarty kod źródłowy. Pod koniec zeszłego tygodnia zapowiedziano publikację nowej wersji oprogramowania z powodu poważnego błędu i poproszono administratorów o bycie w gotowości do przeprowadzenia aktualizacji 28 marca. Zapowiedź tego typu nie jest częstym rozwiązaniem, zdecydowano się na nie, ponieważ podatność pozwala na zdalne wykonanie kodu bez uwierzytelniania, jest stosunkowo prosta do wykorzystania i dodatkowo kod Drupala jest otwarty, co ułatwia analizę wprowadzanych poprawek i przyśpiesza tworzenie exploitów.  Co prawda według naszych informacji nie ma jeszcze publicznych exploitów, ale to nie znaczy, że lada chwila się nie pojawią. W dodatku dochodzą nas słuchy, że odnotowywane są już pierwsze ataki z wykorzystaniem tego błędu.

Drupalgeddon

O szczegółach podatności wiele serwisów już się szeroko rozpisywało, my natomiast chcieliśmy się skupić na analizie polskich stron wykorzystujących Drupala, aby ocenić skalę problemu, gdyby dziś pojawił się publiczny exploit.

Na początek wyszukaliśmy jak najwięcej stron w domenie .pl zawierających ciąg „/sites/all/themes/” w kodzie źródłowym, który jest charakterystyczny dla Drupala. Dało nam to bazę 6612 adresów.  Następnie przy użyciu prostego skryptu odpytaliśmy te strony o plik CHANGELOG.txt, z którego możemy dowiedzieć się, z jakiej wersji oprogramowania dana strona korzysta. Na tej podstawie określimy, czy dana wersja posiada łatkę czy nie. Oczywiście jest to metoda niedoskonała, bo administratorzy często usuwają lub ograniczają dostęp do tego pliku (co jest dobrą praktyką), administrator mógł celowo zmanipulować jego zawartość lub mimo że domyślnie dana wersja Drupala powinna być podatna, administrator mógł zmienić ustawienia w taki sposób, że nie będzie. Jednak aby mieć ogólny rozkład wykorzystywanych wersji i udział podatnych, ta metoda powinna być wystarczająca.

Po odfiltrowaniu tylko stron posiadających wspominany plik pozostało 3583 serwisów. Dodatkowo jedna ze stron miała wpisaną wersję Drupala jako „Drupal 2227.42 celowa manipulacja czy jakaś własna przeróbka? Ponieważ taka wersja nie istnieje, ta strona została przez nas usunięta ze zbioru do analizy.

Efekty analizy pozostałych 3582 stron widoczne są poniżej:

Udział podatnych wersji Drupala na polskich stronach

Rozkład wersji Drupala na polskich stronach (większy obrazek po kliknięciu)

Jak widać aż 91% (3266) stron, które przeanalizowaliśmy, było niezaktualizowanych! Co prawda błąd został opublikowany dopiero kilka dni temu, ale biorąc pod uwagę, jak proste może być jego wykorzystanie, skutki dla tysięcy podatnych Drupali mogą być katastrofalne.

Wśród podatnych stron zidentyfikowaliśmy 23 strony w domenie gov.pl, w tym stronę ważnego ministerstwa, które posiada wersję Drupala z 2011 roku! Sprawę zgłosiliśmy do odpowiedniego CERT-u i opublikujemy szczegóły, gdy zostanie dokonana aktualizacja  (choć nadal liczymy, że to tylko błędny plik changelog). Przy okazji odkryliśmy, że wiele polskich stron (381) korzysta z Drupala w wersji 6, który nie jest już oficjalnie wspierany, a 378, w tym jedna rządowa, z Drupala 7 w wersji niższych niż 7.32, czyli takich, które są podatne na SQL Injection.

Co robić?

Po pierwsze, jeśli jesteś administratorem Drupala i jeszcze tego nie zrobiłeś, jak najszybciej zaktualizuj go do najnowszej wersji (7.58 lub 8.5.1). Dla wersji 6, co prawda, wyjątkowo została wydana poprawka, ale nie jest ona już wspierana przez główną grupę deweloperów i zaleca się migrację na wersję wyższą. Publiczny exploit na tę podatność może pojawić się lada dzień i tysiące przejętych Drupali to ostatnia rzecz, którą chcemy oglądać jako bezpiecznicy :). Za jakiś czas przeprowadzimy ponowny przegląd i ocenimy, w jakim tempie przeprowadzane są aktualizacje.