Menu dostępności

Poważna podatność w jądrze linuxa

Poważna podatność w jądrze systemu Linux – dostępna aktualizacja!

Niestety przed samymi świętami (23 grudnia) zdarzyło się to, czego najbardziej obawiają się administratorzy systemów – ujawniono poważną lukę bezpieczeństwa w systemach Linux.

Zero Day Initiative (ZDI), firma zajmująca się badaniami nad podatnościami typu zero-day, ogłosiła nowy błąd jądra Linuksa. Luka umożliwia uwierzytelnionym użytkownikom zdalne ujawnianie poufnych informacji oraz uruchamianie kodu w podatnych na ataki wersjach jądra.

Pierwotnie ZDI oceniło podatność jako krytyczne 10 w skali od 0 do 10 powszechnego CVSS. Teraz luka ma „tylko” 9.6, co w praktyce nadal oznacza „załataj najszybciej, jak się da!”.

Problem dotyczy programu ksmbd, wersji jądra 5.15 usługi Server Message Block (SMB). Konkretnie podatność występuje w przetwarzaniu poleceń SMB2_TREE_DISCONNECT i  wynika z braku walidacji istnienia obiektu przed wykonaniem na nim operacji. Osoba atakująca może wykorzystać tę lukę do wykonania kodu w kontekście jądra.

Nowy moduł SMB, opracowany przez firmę Samsung, został wprowadzony do jądra Linux w 2021 roku. Jego celem było zapewnienie wysokiej wydajności w obsłudze plików SMB v3. Jak wiadomo, protokół SMB używany jest w systemie Windows, a w systemie Linux – jako nadrzędny protokół wymiany plików za pośrednictwem Samby. Podatny moduł ksmbd nie ma na celu zastąpienia Samby, ale jej uzupełnienie. Deweloperzy Samby i ksmbd pracują nad tym, aby programy działały wspólnie.

Jeremy Allison, współtwórca Samby, zauważa: „ksmbd nie współdzieli kodu z produkcyjną wersją protokołu Samba. Jest napisany całkowicie od zera. Tak więc obecna sytuacja nie ma nic wspólnego z serwerem plików Samba, który można bez obaw uruchamiać w swoich systemach”.

Każda dystrybucja korzystająca z jądra Linuksa 5.15 lub nowszego jest potencjalnie podatna na ataki. Obejmuje to Ubuntu 22.04 i jego następców oraz Deepin Linux 20.3. Jeśli chodzi o serwery, Ubuntu jest najbardziej niepokojące. Inne dystrybucje wykorzystywane przemysłowo, takie jak rodzina Red Hat Enterprise Linux (RHEL), nie używają jądra 5.15.

Aby zweryfikować, czy na konkretnej dystrybucji Linuksa uruchomiona jest podatna usługa, należy wykonać:

$ uname -r –aby zobaczyć, której wersji jądra używasz;
$ modinfo ksmb – aby sprawdzić, czy podatny moduł jest obecny w systemie i uruchomiony. 

To, co chcemy zobaczyć, to to, że moduł nie został znaleziony. Jeśli jest załadowany do pamięci, powinniśmy natychmiast wykonać aktualizację jądra Linux do wersji przynajmniej 5.15.61. Niestety nie wszystkie dystrybucje otrzymały już aktualizacje. Lista jest dostępna tutaj.

Niektórzy zastanawiają się, czy omawiana podatność jest rzeczywiście tak poważna, jeśli nie nadano jej nawet numeru CVE. Greg Kroah-Hartmann, opiekun jądra Linuksa, wyjaśnił:

„…programiści jądra w ogóle nie pracują z CVE, ponieważ w większości nie są one odwzorowaniem konkretnych problemów”. To prawda, że „niektóre organizacje linuksowe nadal nalegają na przypisywanie CVE, ale ma to przede wszystkim na celu umożliwienie wewnętrznych procesów inżynieryjnych”.

Warto pamiętać, że implementacje Windows SMB mają długą, brzydką historię swoich zabezpieczeń. Rozpoczynając od podatnego i nieużywanego już SMB v1 (WannaCry), a kończąc na SMBGhost, który otworzył komputery z systemem Windows 10 na ataki bez uwierzytelnienia.

Nie tylko osoby z zewnątrz martwią się o bezpieczeństwo ksmbd. Kees Cook, starszy programista zajmujący się bezpieczeństwem jądra Linuksa, napisał: „Niektóre z tych luk to dość fundamentalne właściwości bezpieczeństwa systemu plików, których nie testowano pod tym kątem”. Podsumował: „Martwię się tutaj o jakość kodu i myślę, że coś musi się zmienić w procesach recenzji i testowania”. Taka wypowiedź świadczy o tym, że zawodzą wewnętrzne procedury testów bezpieczeństwa, które powinny być pierwszym etapem znajdowania i naprawiania takich właśnie błędów.

Aktualizacje z poprawkami są dostępne, ale sytuacja pokazuje, że kod wymaga dokładniejszego przeglądu i zabezpieczenia, zanim wszyscy będziemy w stanie zaufać mu w pełni na produkcji. Rozsądnie byłoby na razie załatanie jądra i wstrzymanie się z jego używaniem na rzecz funkcjonalności Samba.

Popularne

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

W dzisiejszym artykule opisujemy pewien problem istniejący w firmach i organizacjach, związany z tożsamościami nieludzkimi (non-human identities), czyli inaczej – tożsamościami niezwiązanymi z pracow...
Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie adresów URL ogranicza zawartość stron internetowych, do których użytkownicy mają dostęp. Odbywa się to poprzez blokowanie określonych adresów URL przed załadowaniem. Firmy wdrażają filtrowanie...
Nowe podatności w architekturze sieci 5G

Nowe podatności w architekturze sieci 5G

Nowe badania nad architekturą 5G ujawniły lukę w zabezpieczeniach modelu dzielenia sieci oraz zwirtualizowanych funkcjach sieciowych, które można wykorzystać do nieautoryzowanego dostępu do danych, a tak...
Hakerzy z Dragon Breath z nową techniką ataku

Hakerzy z Dragon Breath z nową techniką ataku

Specjaliści z Sophos wykryli niedawno złośliwą aktywność polegającą na klasycznym DLL side-loadingu, ale ze zwiększoną złożonością i dodatkową warstwą wykonania. Co więcej, dochodzenie wskazuje, że oso...
Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Podatności typu Local Privilege Escalation (LPE) pozostają jednym z kluczowych elementów realnych ataków na systemy Windows. Nawet przy poprawnie skonfigurowanym systemie i aktualnym oprogramowaniu bł...