Wystarczy 732 bajty kodu Pythona. Tyle waży skrypt, który przejmuje konto root na Linuksie i działa na większości serwerów uruchomionych od 2017 roku. Luka nazywa się Copy Fail, a jej numer to CVE-2026-31431. Znalazł ją zespół Xint Code Research razem z badaczem firmy Theori, częściowo z pomocą AI. Publiczne ujawnienie nastąpiło 29 kwietnia 2026 roku, a tydzień później po sieci krążą już gotowe kody atakujące. Pokazujemy, czego dotyczy luka Copy Fail Linux i jak działa atak w pół minuty. Doradzimy też, co zrobić, jeśli prowadzisz serwer z n8n, własnym Claude Code lub jakąkolwiek inną automatyzacją na jądrze Linuksa.
Co naprawdę robi luka Copy Fail Linux i kogo dotyczy
Copy Fail to luka w jądrze Linuksa, która pozwala lokalnemu użytkownikowi bez specjalnych uprawnień zostać administratorem systemu w ciągu kilku sekund. Mechanizm jest prosty, choć ukryty głęboko w kodzie kryptograficznym jądra. Funkcja obsługująca algorytm szyfrowania authencesn(hmac(sha256),cbc(aes)) zapisuje 4 bajty danych do pamięci podręcznej pliku, zanim ktokolwiek sprawdzi uprawnienia do tego pliku. To trochę jak gdyby kasjer wypłacał pieniądze, a dopiero potem patrzył, czyje to konto.
Atakujący wykorzystuje ten błąd, by nadpisać początek pliku /usr/bin/su własnym 156-bajtowym kodem ELF. Przy następnym wywołaniu polecenia su, jądro ładuje skażoną wersję pliku z pamięci podręcznej zamiast oryginału z dysku. Wynik? Dowolny proces dostaje uprawnienia roota.
Lista dotkniętych dystrybucji jest długa, ponieważ luka istnieje od 2017 roku. Ubuntu 24.04 LTS na kernelu 6.17, Amazon Linux 2023 na 6.18, RHEL 10.1 na 6.12 oraz SUSE 16 na 6.12 – wszystkie podatne. Dotyczy to dziesiątek tysięcy serwerów chmurowych i niemal każdego kontenera Dockera bazującego na obrazach z ostatnich ośmiu lat. Naprawiono w wersji 6.19.12 jądra, jednak wiele dystrybucji wciąż nie wypuściło backportu.
Jak wygląda atak w 30 sekund
Kod atakujący jest na tyle krótki, że mieści się w jednym tweecie. Skrypt otwiera socket przez interfejs AF_ALG i prosi jądro o algorytm authencesn(hmac(sha256),cbc(aes)). Następnie wywołuje funkcję splice(), która oryginalnie służy do wydajnego kopiowania danych między buforami. Dlatego ten sam mechanizm, który przyspiesza serwery webowe, staje się tu wektorem ataku.
Z punktu widzenia atakującego: 732 bajty kodu Pythona zamieniają zwykłego użytkownika w administratora systemu w czasie krótszym niż uruchomienie SSH.
Każde wywołanie splice() z tym algorytmem powoduje zapis 4 bajtów do pamięci podręcznej jądra. Po 39 wywołaniach atakujący ma już kompletną 156-bajtową binarkę, która podszywa się pod /usr/bin/su. Wystarczy ją uruchomić poleceniem su lub poczekać, aż zrobi to sam administrator. Co gorsza, atak nie zostawia śladów w klasycznych logach systemowych, ponieważ jądro nie loguje pojedynczych operacji w page cache.
Podobnym wektorem szli wcześniej napastnicy Bitwardena, których opisaliśmy w artykule Bitwarden i atak na łańcuch dostaw. Różnica polega na tym, że tam celem był łańcuch dostaw oprogramowania, natomiast w Copy Fail intruz nie potrzebuje ani konta administratora, ani dostępu do repozytoriów. Wystarczy mu zwykłe konto użytkownika.
Co zrobić TERAZ, jeśli masz serwer z Linuksem
Pierwsza rzecz, jaką warto sprawdzić, to wersja Twojego jądra. Polecenie uname -r pokaże ją w ciągu sekundy. Jeśli widzisz tam coś z serii 6.12, 6.17 lub 6.18, jesteś podatny. Tylko wersje 6.19.12 i nowsze są bezpieczne.
Trzy ścieżki ochrony są w tej kolejności od najlepszej do najszybszej:
Aktualizacja jądra zamyka problem od strony źródła. Każda dystrybucja w tej chwili przygotowuje backporty, więc apt update && apt upgrade (Debian/Ubuntu) lub dnf update kernel (RHEL/Fedora) wystarcza po publikacji paczki. Pamiętaj o restarcie serwera, ponieważ luka działa w jądrze.
Wyłączenie modułu algif_aead to obejście natychmiastowe, gdy nie możesz zrestartować maszyny od ręki. Wystarczy jedna linijka:
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.confNastępnie wykonujemy rmmod algif_aead, jeśli moduł już jest załadowany. To zamyka furtkę bez ruszania reszty systemu, choć część aplikacji korzystających z tego algorytmu może przestać działać.
Audyt aktywnych użytkowników to krok, którego najczęściej się zapomina. Każdy człowiek z loginem na Twoim serwerze jest potencjalnym atakującym, jeśli dostanie dostęp do shella. Dlatego warto przejrzeć listę kont w /etc/passwd, sprawdzić ostatnie logowania komendą last i wyłączyć konta, których nikt nie używa. Czy masz na serwerze konta deweloperskie, których nikt już nie potrzebuje? Co więcej, przejście na klucze SSH zamiast haseł i uważne zarządzanie kluczami staje się krytyczne, bo jeden zhackowany klucz to teraz pełen dostęp administracyjny.
Każdy serwer z Linuksem starszym niż dwa miesiące to dziś potencjalna trampolina dla intruza, który już dawno znalazł się w środku.
Najgorsze, że nie ma prostego testu, który pokaże, czy ktoś już z Twojego serwera skorzystał. Klasyczne narzędzia detekcji włamań takiej operacji w page cache zwyczajnie nie zauważą, a procesy wracają do normy zaraz po nadpisaniu pamięci. Dlatego zamiast szukać śladów, lepiej traktować każdy podatny serwer jako potencjalnie naruszony i rotować klucze SSH, hasła oraz tokeny aplikacji uruchomionych na tej maszynie.
Kurs n8n 2.0 · Kodożercy
Od zera do własnych automatyzacji bez doświadczenia
Kurs n8n 2.0 od Kodożerców przeprowadzi Cię krok po kroku przez budowanie prawdziwych automatyzacji. Od webhooków, przez integracje z API, po własne przepływy danych – wszystko bez programowania.
Sprawdź kurs n8n 2.0 →

Rootless containers – jedyny ratunek przed eskalacją
Jest też dobra wiadomość dla wszystkich, którzy uruchamiają n8n, Postgresa lub własne agenty AI w kontenerach. Jeśli Twój kontener działa w trybie rootless (Podman lub Docker rootless), atak Copy Fail nadal działa wewnątrz kontenera, ale nie wyjdzie z User Namespace. Co to znaczy w praktyce? UID 0, czyli “root” wewnątrz kontenera, mapuje się na zwykłego użytkownika hosta, na przykład UID 1000.
Atakujący zostaje rootem swojej własnej piaskownicy, jednak system na zewnątrz traktuje go nadal jak zwykłego użytkownika. To trochę jak dziecko, które zostaje “królem” swojego pokoju zabaw, ale dla rodziców nadal jest dzieckiem, które musi zjeść kolację. OpenShift od wersji 4.20 wspiera User Namespaces jako funkcję produkcyjną, dlatego administratorzy klastra mogą wymusić ten tryb domyślnie dla wszystkich aplikacji.
Jeśli prowadzisz produkcyjnego n8n na własnym VPS-ie, podobny przepis na zabezpieczenie opisaliśmy już przy okazji innej krytycznej luki w artykule n8n – krytyczna luka RCE i jak zaktualizować. Tam akcent leżał na samej aktualizacji aplikacji, a tutaj sprawa dotyczy systemu pod nią. Połączenie obu warstw, czyli zaktualizowane jądro plus rootless containers plus aktualne paczki aplikacji, to dziś nieformalne minimum dla self-hostingu w 2026 roku.
Co to znaczy dla rynku – AI zaczyna szukać luk w jądrze
Najciekawszy wątek tej historii nie jest techniczny, lecz społeczny. Zespół Xint przyznał wprost w swoim raporcie, że research luki został wsparty AI – choć inicjatywa wyszła od ludzkiego badacza. Po raz pierwszy w publicznym ujawnieniu luki tej skali w jądrze Linuksa pojawia się oficjalna wzmianka o udziale modelu językowego w analizie kodu.
Po raz pierwszy w publicznym ujawnieniu badacze przyznali, że AI pomogła im znaleźć lukę w jądrze Linuksa.
Co to oznacza dla każdego, kto utrzymuje serwer lub buduje na nim automatyzacje? Tempo znajdowania luk będzie rosło, a okno między ujawnieniem a publicznym exploitem jeszcze się skróci. Tu sprawdza się tylko jedno: aktualizacje robisz w tygodniu, nie w miesiącu. Defenderzy też zaczynają używać AI, więc broń jest ta sama po obu stronach. Co więcej, dystrybucje takie jak Ubuntu i RHEL już wprowadzają cykle bezpieczeństwa krótsze niż 30 dni. Automatyczne aktualizacje przestają być opcją i stają się koniecznością.
Podsumowanie
Linuksowa luka Copy Fail (CVE-2026-31431) to jedna z większych historii bezpieczeństwa 2026 roku. Tylna furtka zostawiona w jądrze w 2017 roku doczekała się eksploita w 2026, częściowo dzięki pomocy AI. Co to znaczy dla nas? Każdy serwer z Linuksem trzeba dziś zaktualizować, nie za miesiąc. Rootless containers przestały być tylko dobrym tonem i stały się obowiązkowym minimum dla każdego, kto self-hostuje n8n, Postgresa albo własnego Claude. Co więcej, AI w rękach badaczy zmienia tempo znajdowania luk, a ludzie obsługujący produkcję, muszą to zaakceptować. Dziś wieczorem warto włączyć uname -r na każdym serwerze, do którego masz dostęp.
Newsletter · DevstockAcademy & Kodożercy
Bądź na bieżąco ze światem IT, AI i automatyzacji
Co wtorek: newsy z branży, praktyczne tipy i narzędzia które warto znać. Zero spamu.



