Twój Linux może być zagrożony. Ten atak ukrywa się w pamięci RAM

Paweł BliźniukSkomentuj
Twój Linux może być zagrożony. Ten atak ukrywa się w pamięci RAM

Dziura w systemie Linux, ochrzczona jako Copy Fail (CVE-2026-31431), dostała w klasyfikacji zagrożeń mocne 7.8 na 10, co oznacza, że problem jest poważny. Luka pozwala zwykłemu użytkownikowi z najniższymi uprawnieniami wskoczyć na konto roota i przejąć całkowitą kontrolę nad maszyną. To spuścizna po „genialnej” optymalizacji pamięci podręcznej stron (page-cache) z 2017 roku. Ktoś chciał przyspieszyć działanie systemu, a zamiast tego po kryjomu podłożył bombę w oficjalnym module kryptograficznym jądra o nazwie algif_aead.



Ponieważ jednak łatanie tej luki w kodzie źródłowym rozpoczęło się już na początku kwietnia, sprawa jest dynamiczna. Wiele dystrybucji prawdopodobnie udostępniło już odpowiednie poprawki, ale jeśli wasz system od dawna nie widział menedżera aktualizacji, to najwyższa pora to zmienić.

Korzystasz z serwera? Możesz nim zawładnąć

Problem dotyczy serwerów chmurowych, komputerów współdzielonych oraz w firma hostingowych, gdzie z jednej wielkiej maszyny korzysta jednocześnie kilkadziesiąt lub kilkaset osób.



Wyobraź sobie serwer na uczelni, gdzie każdy student ma swoje małe konto. Wystarczy, że jeden z nich wrzuci ten exploit, a z pozycji zwykłego, zablokowanego użytkownika staje się absolutnym władcą całego serwera uniwersyteckiego.

Dokładnie to samo dotyczy nowoczesnych platform biznesowych opartych na kontenerach i Kubernetesie. Konteneryzacja (np. Docker) miała izolować aplikacje w bezpiecznych, odrębnych „pudełkach”. Ponieważ jednak pamięć podręczna stron RAM jest współdzielona między systemem-gospodarzem a kontenerami, Copy Fail pozwala na natychmiastową ucieczkę z takiego pudełka. Jeden nieuczciwy klient w chmurze może tą dziurą wejść na głowę wszystkim pozostałym użytkownikom serwera fizycznego.

Jak cztery bajty w RAM-ie robią z ciebie roota

Atakujący wykorzystuje lukę w sposobie, w jaki Linux zarządza pamięcią podręczną stron (page-cache). To taki podręczny schowek w pamięci RAM, gdzie system trzyma kopie plików z dysku, żeby nie musieć ich bez przerwy odczytywać z wolniejszego nośnika.

Luka pozwala na bezkarne wykonanie precyzyjnego, zaledwie 4-bajtowego zapisu do dowolnej strony w tym schowku. Wystarczy, że użytkownik ma chociażby marny dostęp do odczytu danego pliku.

Na celownik leci zazwyczaj niewinne, systemowe narzędzie z ustawionym bitem setuid. Na przykład /usr/bin/su, czyli narzędzie do uruchamiania poleceń jako inny użytkownik. Tego typu pliki mają fabryczne uprawnienia do działania jako administrator (root). Haker podmienia cztery kluczowe bajty bezpośrednio w locie, w pamięci RAM. Następnie system bez zająknięcia wykłada mu na tacy pełną powłokę roota.


reklama - polecane wideo



Zmiana nigdy nie trafia na dysk twardy. Jądro nie oznacza zmodyfikowanych stron jako „brudne” (dirty), więc system nie synchronizuje ich z plikiem na SSD. W praktyce oznacza to, że programy antywirusowe mogą sprawdzać sumy kontrolne na darmo – nic nie wykryją. System raportuje, że pliki na dysku są czyste. Tymczasem w pamięci operacyjnej haker robi już absolutnie wszystko, co chce.

AI przyczyniło się do odkrycia problemu, ale bohaterem jest człowiek

Autorem tego odkrycia jest Taeyang Lee z zespołu Xint Code. Mężczyzna sformułował trafną hipotezę, po czym zaprzągł do pracy sztuczną inteligencję. AI potrzebowało zaledwie godziny, żeby przeczesać cały potężny katalog crypto/ w jądrze Linuksa i namierzyć winowajcę. Efekt? Publiczny exploit to skrypt w Pythonie ważący śmieszne 732 bajty. Tyle tekstu mieści się w jednym dłuższym SMS-ie, a wystarczy, żeby położyć na łopatki gigantyczne serwerownie chmurowe.

Podatne jest niemal wszystko, co wyszło na rynek po 2017 roku. Od Ubuntu (od 20.04 do 24.04), przez Amazon Linux 2023, aż po Red Hat Enterprise Linux 10.1, SUSE 16 oraz standardowe wydania Debiana, Archa czy Fedory. Spokojnie mogą spać wyłącznie ci, którzy przesiedli się już na najnowsze Ubuntu 26.04 Resolute albo mają systemy z jądrem ręcznie załatanym odpowiednią poprawką.

Oczywiście jedyną słuszną opcją na stałe jest wdrożenie oficjalnych poprawek, które od kwietnia spływają do repozytoriów większości dystrybucji. Natomiast jeśli wasz dostawca dystrybucji jeszcze grzebie się z wydaniem odpowiedniej paczki, musicie ratować się ręcznie. Najprostszym sposobem na zablokowanie exploita jest całkowite wyłączenie podatnego modułu algif_aead. Można to zrobić wpisując instrukcję blokady instalacji do pliku konfiguracyjnego modprobe, a następnie wyrzucając moduł z pamięci za pomocą polecenia rmmod.

Źródło: CERT-EU, Xint / Zdj. otwierające: Gemini (Nano Banana)

Paweł BliźniukLinuksiarz, który lubi grzebać w sprzęcie i pisać o szeroko pojętej technologii. Uwielbia wszystko, co zawiera płytki PCB. Wielbiciel retro‑konsolek i ThinkPad'ów. Uzależniony od muzyki i gier roguelike. Wolne chwile poświęca na bieganie. Artykuły zaczął pisać jeszcze przed erą AI.