Wykryli lukę w ksmbd w jądrze Linuksa

wrażliwość

Jeśli zostaną wykorzystane, te luki mogą umożliwić atakującym uzyskanie nieautoryzowanego dostępu do poufnych informacji lub ogólnie spowodować problemy

Niedawno opublikowano informację, że wykryto lukę w jądrze Linuksa z wynikiem CVSS 10 na serwerze SMB, dając nieuwierzytelnionemu użytkownikowi możliwość zdalnego wykonania kodu.

Znaleziony błąd umożliwia zdalnym atakującym wykonanie dowolnego kodu w instalacjach, których dotyczy problem. Uwierzytelnianie nie jest wymagane do wykorzystania tej luki, ale tylko systemy z włączonym ksmbd są podatne na ataki.

Specyficzny błąd występuje w przetwarzaniu poleceń SMB2_TREE_DISCONNECT. Problem wynika z braku sprawdzenia, czy obiekt istnieje przed wykonaniem operacji na tym obiekcie. Osoba atakująca może wykorzystać tę lukę do wykonania kodu w kontekście jądra.

SZCZEGÓŁY PODATNOŚCI
Ta luka umożliwia zdalnemu atakującemu wykonanie dowolnego kodu na dotkniętych instalacjach jądra systemu Linux. Uwierzytelnianie nie jest wymagane do wykorzystania tej luki, ale tylko systemy z włączonym ksmbd są podatne na ataki.

Konkretna luka występuje w przetwarzaniu poleceń SMB2_TREE_DISCONNECT. Problem jest spowodowany brakiem walidacji istnienia obiektu przed wykonaniem operacji na obiekcie. Osoba atakująca może wykorzystać tę lukę do wykonania kodu w kontekście jądra.

Wspomniano, że w zależności od typu żądania SMB, każdy nowy wątek może zdecydować o przekazaniu poleceń do przestrzeni użytkownika (ksmbd.mountd); obecnie polecenia DCE/RPC są identyfikowane jako obsługiwane przez przestrzeń użytkownika. Aby lepiej wykorzystać jądro Linuksa, postanowiono traktować polecenia jako elementy robocze i wykonywać je w procedurach obsługi wątków ksmbd -io kworker.

Pozwala to menedżerom na multipleksowanie, ponieważ jądro dba o uruchamianie dodatkowych wątków roboczych, jeśli obciążenie wzrasta i odwrotnie, jeśli obciążenie spada, zabija dodatkowe wątki robocze.

Kiedy demon serwera się uruchamia, uruchamia wątek rozwidlenia (ksmbd/nazwa interfejsu) podczas uruchamiania i otwiera dedykowany port 445 do nasłuchiwania żądań SMB. Za każdym razem, gdy nowi klienci wysyłają żądanie, wątek forker akceptuje połączenie klienta i tworzy nowy wątek dla dedykowanego kanału komunikacji między klientem a serwerem. Pozwala to na równoległe przetwarzanie żądań (poleceń) SMB od klientów i umożliwia nowym klientom nawiązywanie nowych połączeń.

ksmbd wzbudził wśród niektórych użytkowników czerwone flagi którzy rozmawiali o ich fuzji w zeszłym roku. SerNet, niemiecka firma komputerowa, która oferuje własną wersję Samby, napisała w poście na blogu, że ksmbd jest niesamowity, ale wydaje się trochę niedojrzały. Ponadto zespół SerNet Samba+ stwierdził w poście na blogu, że wartość dodania serwera SMB do przestrzeni jądra może nie być warta ryzyka „wyciśnięcia ostatniej części wydajności z dostępnych rzeczy”.

Na szczęście, jeśli nie korzystasz z „eksperymentalnego” modułu ksmbd firmy Samsung, jak opisał badacz bezpieczeństwa Shir Tamari na Twitterze, i zachowałeś Sambę, jesteś całkowicie bezpieczny. „ksmbd jest nowy; większość użytkowników nadal korzysta z Samby i nie ma to wpływu. Zasadniczo, jeśli nie korzystasz z serwerów SMB z ksmbd, ciesz się weekendem” – napisała Tamari na Twitterze.

Według Inicjatywy Zero-Day, który ujawnił lukę ksmbd, w przetwarzaniu poleceń SMB2_TREE_DISCONNECT istnieje luka typu use-after-free. Według ZDI problem jest spowodowany tym, że ksmbd nie sprawdza istnienia obiektów przed wykonaniem na nich operacji.

Dla tych, którzy używają ksmbd, oprócz przejścia na Sambę istnieje obejście: aktualizacja jądra Linuksa do wersji 5.15.61, wydanej w sierpniu lub późniejszej. Ta aktualizacja jądra rozwiązuje również kilka innych problemów w ksmbd: odczyt poza zakresem dla SMB2_TREE_CONNECT, który według informacji o łatce mógł pozwolić nieprawidłowym żądaniom na niewysyłanie wiadomości, oraz wyciek pamięci w smb2_handle_negotiate powodujący niepoprawny free. pamięć.

w końcu jeśli jesteś chcesz dowiedzieć się więcej na ten tematmożesz sprawdzić szczegóły W poniższym linku.