Tutoriel Linux

CIFSwitch: 19-letnia luka w zabezpieczeniach systemu Linux umożliwia przejęcie uprawnień roota

Débutant3 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

19-letnia luka w jądrze Linuksa, znana jako CIFSwitch, umożliwia atakującym uzyskanie dostępu do roota poprzez wykorzystanie luki w protokole CIFS. To odkrycie wymaga natychmiastowej czujności ze strony administratorów systemów i użytkowników Linuksa.

Stawka jest wysoka: lokalny atakujący bez uprawnień może potencjalnie przejąć pełną kontrolę nad maszyną. Sprawdźmy, jak działa ta luka i które dystrybucje są nią dotknięte.

Zrozumienie luki w zabezpieczeniach CIFSwitch w jądrze Linux

CIFSwitch wykorzystuje lukę w interfejsie między jądrem Linuksa a pakietem cifs-utils, który zarządza udziałami sieciowymi CIFS/SMB. Protokół ten jest niezbędny do dostępu do plików na serwerach zdalnych.

Sedno problemu leży w uwierzytelnianiu Kerberos wymaganym do montowania tych udziałów. Jądro deleguje to zadanie do programu pomocniczego użytkownika, cifs.upcall, który działa z uprawnieniami roota.

Ten pomocnik ufa otrzymywanym żądaniom bez żadnego nadzoru. Złośliwy użytkownik może manipulować tymi żądaniami i wstrzyknąć złośliwy kod, aby wykonać go z podwyższonymi uprawnieniami. To jest wektor ataku.

Techniczne kulisy operacji

Luka wynika z braku kontroli nad pochodzeniem klucza. cifs.spnego Żądane przez jądro. Zwykle to żądanie jest uzasadnione i wysłane przez klienta CIFS jądra. W tym przypadku może zostać sfałszowane.

Prosty skrypt w Pythonie, dostępny jako demo, pozwala przeciętnemu użytkownikowi przepisać plik sudoers i umożliwić niemal natychmiastowy dostęp do roota. Jest wydajny i niezawodny.

Stosując analogię do otwartej bariery na torach kolejowych, lokalni hakerzy muszą jedynie wprowadzić do systemu eksperymentalny wagon, nie przechodząc przez filtr.

Dystrybucje Linuksa, których to dotyczy, i warunki działania

W przeciwieństwie do bardziej uniwersalnych luk, CIFSwitch nie jest aktywowany wyłącznie na podstawie wersji jądra Linux. Jest absolutnie konieczne, aby cifs-utils musi być zainstalowany w wersji 6.14 lub nowszej.

Kolejnym warunkiem wstępnym jest możliwość tworzenia i montowania przestrzeni nazw przez użytkownika, co jest czasami ograniczone przez zasady bezpieczeństwa, takie jak SELinux czy AppArmor.

Domyślnie kilka systemów pozostaje podatnych na atak, w tym Linux Mint 21.3, CentOS Stream 9, Kali Linux w latach 2021–2026 i AlmaLinux 9.7.

Silniejsze rozkłady, ale z pewnymi warunkami

Najnowsze wersje Ubuntu (26.04), Fedora między wersjami 40 i 44 oraz Rocky Linux 10 korzystają z zabezpieczeń SELinux/AppArmor, które neutralizują tę lukę.

Ostrzeżenie: wyłączenie tych zasad bezpieczeństwa jest jak ponowne otwarcie okna ataku. Nieświadomy administrator może wtedy nieświadomie znaleźć się w sytuacji, w której system zostanie zainfekowany.

Dlatego też przy ocenie ryzyka nie należy lekceważyć ogólnej konfiguracji systemu.

Jak skutecznie chronić się przed CIFSwitch?

Poprawka wprowadzona w maju 2026 roku do jądra Linuksa rozwiązuje ten problem, sprawdzając pochodzenie żądań kluczy. Główne pytanie brzmi zatem, czy Twoja dystrybucja zintegrowała tę poprawkę.

Jeśli tak nie jest, możliwe jest zastosowanie kilku środków zaradczych. Usuń pakiet. cifs-utils jest najprostszy, ale uniemożliwia dostęp do udziałów sieciowych CIFS.

Alternatywnie można wyłączyć uwierzytelnianie Kerberos/SPNEGO za pomocą specjalnej konfiguracji lub całkowicie wyłączyć moduł CIFS, jeśli nie jest używany.

Administracja Linuksem przypomina trochę smarowanie starej maszyny przed jej otwarciem: te poprawki chronią przed błędami, które, pozostając tam przez długi czas, stają się niebezpieczne.

Kluczem jest ciągłe śledzenie aktualizacji, zwłaszcza tych, które naprawiają tak poważne luki w zabezpieczeniach. Darmowe nie oznacza niechlujne – wręcz przeciwnie.

sudo apt update && sudo apt upgrade