Ile waży root na Linuksie? Około 732 bajty. Tyle ma publiczny exploit, który „awansuje” zwykłego użytkownika do roota na podatnym jądrze.
Amerykańska CISA dorzuciła do katalogu KEV nową pozycję: CVE-2026-31431, znaną jako Copy Fail. To lokalna eskalacja uprawnień w jądrze Linuksa (CVSS 9.9), klasy zero-day, z potwierdzoną eksploatacją w naturze. Krótko mówiąc: jeśli ktoś już ma dostęp do twojej maszyny lub kontenera, może w kilka sekund zostać rootem. Łatki istnieją, PoC krąży, a wykrycie ataku jest trudne.
Dlaczego to jest ważne? Bo Linux to dziś tlen dla chmury i kontenerów. KEV to nie lista „ciekawostek”, tylko „to się dzieje naprawdę” – a dyrektywa BOD 22-01 zobowiązuje agencje federalne USA do załatania takich luk w wyznaczonym terminie. Reszta świata zwykle bierze z tego harmonogramu przykład. Copy Fail obchodzi klasyczne, dyskowe mechanizmy kontroli integralności i potrafi przebić izolację kontenerów w domyślnych konfiguracjach. To nie alarmistyczny trailer, to realny wektor ryzyka.
Co się stało
CISA oficjalnie dodała CVE-2026-31431 do Known Exploited Vulnerabilities z adnotacją o aktywnej eksploatacji. Opis jest trzeźwy: „nieprawidłowy transfer zasobów między sferami” w jądrze, skutkujący eskalacją uprawnień. Sama luka jest lokalna – nie otwiera zdalnej furtki – ale połączona z pierwszym krokiem dostępu (np. słabe hasło SSH, złośliwe zadanie CI, przyczółek w kontenerze) robi się groźna. [6]
Kontekst i skala
Błąd nazwano Copy Fail. To logiczny defekt w interfejsie kryptograficznym jądra (AF_ALG), który pozwala zwykłemu użytkownikowi naruszyć pamięciową page cache dowolnego czytelnego pliku – także binarek z setuid. Efekt: kod z uprawnieniami roota bez dotykania dysku. W chmurach i środowiskach K8s to pachnie kłopotami; w analizach wskazywano, że dostęp do AF_ALG bywa przyznany procesom w kontenerze, więc można przebić izolację i przejąć hosta. Podkreślano też, że wektor jest lokalny, próg uprawnień niski, bez interakcji użytkownika – krótko: jeśli ktoś może uruchomić skrypt, może też spróbować go wykorzystać.
Jak to działa (i dlaczego jest wredne)
Kluczowy trik Copy Fail polega na modyfikacji tego, co kernel trzyma w pamięci jako bieżącą wersję pliku wykonywalnego. Mówiąc obrazowo: zmieniasz program „w locie”, bez śladu na dysku. To zła wiadomość dla systemów, które opierają monitoring integralności na sumach kontrolnych plików – tu nie ma czego wykrywać na storage. Co gorsza, PoC jest krótki (ok. 732 bajty w Pythonie), stabilny, przenośny między dystrybucjami i – jak zwraca uwagę Sekurak – działa „za pierwszym razem”, z minimalnym ryzykiem wywrócenia hosta. W repozytoriach pojawiły się już warianty w Go i Ruście. Nie trzeba wyścigów wątków czy zgadywania adresów; zwyczajne wywołania systemowe, jak w legalnych aplikacjach. To obniża próg wejścia i utrudnia detekcję.
Fakty i oś czasu
To wieloletnia usterka „sklejona” z kilku pozornie niewinnych zmian w jądrze. Zgłoszona prywatnie do zespołu bezpieczeństwa jądra na wiosnę; poprawki trafiły do mainline w kwietniu, identyfikator CVE nadano pod koniec tego miesiąca, a publiczne analizy pojawiły się chwilę później. CISA dodała wpis do KEV 1 maja, nie zdradzając szczegółów obserwowanych ataków – ale to, że wpis jest w KEV, znaczy tyle, że uznano eksploatację za potwierdzoną. [3]
Kto jest na celowniku
Lista jest, niestety, szeroka: główne dystrybucje Linuksa wydawane od 2017 r., w tym RHEL, Ubuntu, SUSE czy Amazon Linux. W praktyce: serwery bare-metal, maszyny wirtualne w chmurach, klastry Kubernetes i wszelkie multi-tenantowe hosty, gdzie pojedynczy dostęp użytkownika może dosięgnąć kernela. To nie jest luka „zdalna”, nie atakuje portów ani portfeli krypto sama z siebie – ale jeśli napastnik już jest w środku, Copy Fail bywa biletem do roota.
Co robić teraz
- Aktualizuj jądro. Łatki są dostępne – sprawdź kanały swojej dystrybucji i priorytetowo wdroż je na hostach wielodzierżawnych oraz węzłach kontenerowych.
- Jeśli patcha jeszcze nie masz, rozważ doraźne wyłączenie modułu algif_aead (po potwierdzeniu, że nie jest wymagany): echo „blacklist algif_aead” > /etc/modprobe.d/disable-algif-aead.conf oraz echo „install algif_aead /bin/false” >> /etc/modprobe.d/disable-algif-aead.conf. To ogranicza dostęp do podatnego podsystemu AF_ALG wskazywanego w analizach jako kluczowy do eksploatacji. [3]
- Utrudnij „krok pierwszy”. Łańcuch zaczyna się od lokalnej egzekucji: przegląd dostępu SSH, higiena runnerów CI, ograniczenia przyczółków w kontenerach i zasada najmniejszych uprawnień pomogą ograniczyć powierzchnię ataku. [3]
Krótka interpretacja
Copy Fail nie obala kontenerów jako idei, ale przypomina starą prawdę: izolacja na poziomie OS kończy się tam, gdzie zaczyna się kernel. A kernelowe LPE plus dostęp do hosta to równanie, którego wynik wszyscy znamy. KEV nie jest straszakiem – to czerwone światło. Kto ignoruje, ten zwykle kończy w następnym kwartale z niechcianym studium przypadku.
Na koniec
Patchuj, tam gdzie możesz. Tam, gdzie nie możesz – wyłącz algif_aead i pilnuj, kto może cokolwiek uruchamiać. Exploit ma kilkaset bajtów, ale potrafi rozbić iluzję bezpieczeństwa większą niż niejedna polityka zgodności. Ile waży root? W tym tygodniu dokładnie tyle, ile wynosi twój czas reakcji.
FAQ
Czy CVE-2026-31431 pozwala na zdalne przejęcie systemu bez logowania?
Nie, wektor jest lokalny – napastnik musi już mieć możliwość uruchomienia kodu na systemie. W praktyce bywa łączony z innymi wektorami, jak dostęp SSH czy złośliwe zadania CI.
Które wersje jądra Linuksa zawierają poprawkę na Copy Fail?
Sprawdź komunikaty swojej dystrybucji – łatki są dostępne i są backportowane do wspieranych linii.
Kiedy CISA dodała Copy Fail (CVE-2026-31431) do KEV?
1 maja 2026 r., na podstawie dowodów aktywnej eksploatacji.
Jak ograniczyć ryzyko w klastrach Kubernetes do czasu aktualizacji?
Tymczasowo wyłącz moduł algif_aead w jądrze hosta, jeśli nie jest potrzebny, i ogranicz możliwość uzyskania lokalnej egzekucji w podach/runnerach. [3]
Czy da się łatwo wykryć użycie exploita Copy Fail?
Nie, atak opiera się na legalnych wywołaniach systemowych i modyfikuje pamięciową page cache, a nie pliki na dysku.
Źródła
- [1] https://cisa.gov/news-events/alerts/2026/05/01/cisa-adds-one-known-exploited-vulnerability-catalog
- [2] https://thehackernews.com/2026/05/cisa-adds-actively-exploited-linux-root.html
- [3] https://sekurak.pl/copy-fail-cve-2026-31431-powazna-podatnosc-umozliwiajaca-eskalacje-uprawnien-do-roota-latajcie-sie/
- [4] https://linkedin.com/posts/the-cyber-security-hub_cisa-adds-actively-exploited-linux-root-access-activity-7456704144494510080-wscW
- [5] https://earezki.com/ai-news/2026-05-03-cisa-adds-actively-exploited-linux-root-access-bug-cve-2026-31431-to-kev/
- [6] https://crypto.news/cisa-adds-linux-copy-fail-flaw-to-exploited-bug-list/
- [7] https://bleepingcomputer.com/news/security/cisa-linux-privilege-escalation-flaw-now-exploited-in-ransomware-attacks/
- [8] https://thehackernews.com/2026/04/cisa-adds-8-exploited-flaws-to-kev-sets.html
To nie jest ozdobnik. To ślad po procesie: ile informacji było szumem, ile stało się wiedzą i jak wyglądał research, zanim powstał ten tekst.
1. Zbieranie sygnałów (discovery)
- RSS - źródeł w configu
- 98
- RSS - stan źródeł
- 97 / 98 OK (fail: 1)
- RSS - przepływ (od surowych do unikalnych)
- 3174 -> 2980 -> 481 -> 316
- RSS - usunięte duplikaty tytułów
- 4
- Pula tematów (z RSS)
- 316
- Wybrane do analizy
- 185
- Odrzucone
- 92
- Klastry (wątki)
- 148
2. Selekcja i filtrowanie
- Odrzucono semantycznie (embedding)
- 2
3. Wyszukiwanie i wzbogacanie
- Zapytania wyszukiwawcze
- 21
- Unikalne wyniki
- 45
- Kandydaci
- 31
- Dodane z wyszukiwania (cache+live)
- 6
- Przeskanowano URL-i (research)
- 3
4. Finalny kontekst
- Źródła użyte w tekście
- 8
- Źródła (domeny)
- 7
- Wikipedia - kontekst
- tak
- Expansion - kontekst
- nie
- Wyłuskane liczby
- 4




