gik|iewicz

szukaj
CVE-2026-31431: Luka w Linuksie daje uprawnienia root

CVE-2026-31431: Luka w Linuksie daje uprawnienia root

732 bajtów. Tyle wystarczy, żeby uzyskać uprawnienia root na niemal każdej dystrybucji Linuksa wydanej od 2017 roku. Podatność nazwana „Copy Fail” (CVE-2026-31431) dotyczy jądra systemu i pozwala nieuprzywilejowanemu użytkownikowi lokalnemu na eskalację uprawnień. Microsoft Security, Tenable oraz Wiz jednocześnie ostrzegają przed działającym exploitem krążącym w sieci.

TL;DR: CVE-2026-31431 to krytyczna luka w jądrze Linuksa (CVSS 7.8) pozwalająca na eskalację uprawnień do root za pomocą zaledwie 732-bajtowego kodu. Błąd dotyczy wszystkich głównych dystrybucji od 2017 roku. Exploit łączy interfejs AF_ALG z wywołaniem splice(), tworząc warunki do zapisu w page cache. Luka ma szczególne znaczenie dla środowisk chmurowych, hostingu współdzielonego oraz klastrów Kubernetes.

Czym jest podatność Copy Fail (CVE-2026-31431)?

Podatność Copy Fail (CVE-2026-31431) to błąd w jądrze Linuksa umożliwiający eskalację uprawnień lokalnych z poziomu zwykłego użytkownika do root. Luka ma ocenę CVSS 7.8 i wynika z nieprawidłowej obsługi operacji kopiowania w podsystemie kryptograficznym. Zgodnie z informacjami od Xint, exploit łączy interfejs AF_ALG z wywołaniem systemowym splice(), co pozwala na 4-bajtowy zapis do page cache jądra. To wystarczy do modyfikacji struktur danych jądra.

Źródło: CVE-2026-31431: Copy Fail vulnerability enables Linux root privilege escalation across cloud environments | Microsoft Security Blog

Otóż problem leży w braku odpowiedniej walidacji podczas operacji kopiowania między buforami. Gdy proces wywołuje splice() na gnieździe AF_ALG, jądro nie sprawdza poprawnie granic bufora. W rezultacie atakujący może nadpisać krytyczne dane w pamięci. Z tego powodu luka dotyczy wszystkich wersji jądra od 2017 roku, kiedy wprowadzono problematyczny kod.

Eksploit publiczny ma zaledwie 732 bajty. To bardzo mało.

Jak działa mechanizm ataku wykorzystujący AF_ALG i splice()?

Mechanizm ataku opiera się na łańcuchu wywołań łączącym interfejs AF_ALG (algorytmy kryptograficzne) z funkcją splice(). Zgodnie z analizą Xint, błąd polega na tzw. „scratch-write bug” – atakujący łańcuchuje wywołania tak, aby uzyskać 4-bajtowy zapis w page cache jądra. Zwykły użytkownik może zatem nadpisać wybrane dane w pamięci bez posiadania uprawnień root.

Ponadto atak nie wymaga skomplikowanego przygotowania środowiska. Wymagane komponenty – gniazda AF_ALG i splice() – są standardowo dostępne dla nieuprzywilejowanych procesów. Co więcej, publiczny PoC (Proof of Concept) udowadnia, że cały atak mieści się w 732 bajtach kodu. Zatem bariera wejścia dla atakującego jest minimalna.

Publiczny exploit krąży w sieci od kwietnia 2026.

Które dystrybucje i wersje jądra są zagrożone?

Podatność dotyczy wszystkich głównych dystrybucji Linuksa, ponieważ błąd znajduje się w kodzie jądra wprowadzonym w 2017 roku. Zgodnie z raportami Tenable i Wiz, zagrożone są systemy Ubuntu, Amazon Linux, RHEL, SUSE oraz inne dystrybucje korzystające z podatnych wersji jądra. Obejmuje to niemal wszystkie serwery produkcyjne działające od ośmiu lat.

Choć niektóre dystrybucje mogły zastosować łatki we wcześniejszych wydaniach, większość środowisk nadal jest narażona. Na przykład systemy operacyjne używane w chmurach często korzystają ze starszych, niemodyfikowanych jąder. Z tego powodu Microsoft Security podkreśla, że luka ma szczególne znaczenie dla środowisk chmurowych i klastrów Kubernetes, gdzie współdzielenie zasobów jest powszechne.

DystrybucjaStatus podatnościDostępność łatki
UbuntuPodatnaDostępna
RHELPodatnaDostępna
Amazon LinuxPodatnaDostępna
SUSEPodatnaDostępna

Dlaczego Copy Fail jest szczególnie groźny w środowiskach chmurowych?

Środowiska chmurowe i klastry Kubernetes są szczególnie narażone na konsekwencje podatności Copy Fail. Zgodnie z analizą Niebezpiecznik, błąd może pozwolić na ucieczkę z kontenera i przejęcie systemu hosta przez użytkownika. W modelu wielodostępnym jeden zainfekowany kontener może skompromitować cały węzeł, a w konsekwencji cały klaster.

Z kolei na hostingu współdzielonym sytuacja wygląda podobnie – jeden tenant może wykorzystać lukę do przejęcia kontroli nad całym serwerem fizycznym. Procesy CI, sandboxy oraz środowiska testowe również są narażone. Microsoft Security jednoznacznie wskazuje, że organizacje korzystające z Kubernetes powinny priorytetowo traktować tę lukę.

W środowiskach współdzielonych skutki są dramatyczne.

Jakie techniki detekcji exploitów Copy Fail są dostępne?

Detekcja exploitów Copy Fail opiera się na monitorowaniu specyficznych wzorców zachowań w systemie. Ponieważ atak wykorzystuje standardowe wywołania systemowe (AF_ALG i splice), tradycyjne antywirusy mogą nie wykryć aktywności. Zatem konieczne jest monitorowanie sekwencji wywołań – szczególnie tworzenia gniazd AF_ALG przez nieuprzywilejowane procesy.

Mimo to organizacje mogą wdrożyć reguły auditd lub rozwiązania typu EDR (Endpoint Detection and Response) do wykrywania podejrzanej aktywności. Na przykład monitorowanie wywołań splice() na gniazdach kryptograficznych może wskazywać na próbę eksploitacji. Co więcej, Wiz zaleca skanowanie środowisk chmurowych pod kątem podatnych wersji jądra.

  • Monitorowanie wywołań systemowych splice() na gniazdach AF_ALG
  • Reguły auditd śledzące tworzenie gniazd kryptograficznych przez nieuprzywilejowane procesy
  • Skanowanie obrazów kontenerów pod kątem podatnych wersji jądra
  • Analiza logów pod kątem nietypowych sekwencji wywołań
  • Wdrożenie rozwiązań EDR z sygnaturami dla CVE-2026-31431
  • Izolacja kontenerów z wykorzystaniem seccomp ograniczającego dostęp do AF_ALG
  • Aktualizacja jądra do załatanej wersji

Samo monitorowanie to za mało. Łatanie jest priorytetem.

Jakie kroki zaradcze rekomenduje Microsoft Security dla środowisk chmurowych?

Microsoft Security jednoznacznie rekomenduje natychmiastową aktualizację jądra systemu we wszystkich środowiskach chmurowych oraz klastrach Kubernetes. Zgodnie z oficjalnym komunikatem na blogu Microsoft Security, organizacje powinny priorytetowo załatać wszystkie węzły robocze. Ponadto konieczne jest przeskanowanie obrazów kontenerów pod kątem podatnych wersji systemu bazowego. Opóźnienie w wdrożeniu poprawek zwiększa ryzyko kompromitacji całego klastra.

Otóż w środowiskach wielodostępnym jeden zainfekowany kontener może stanowić zagrożenie dla całej infrastruktury fizycznej hosta. Dlatego kluczowe jest zastosowanie strategii defense-in-depth. Z tego powodu sam patching to często za mało na natychmiastową ochronę. Wobec tego rekomenduje się wdrożenie dodatkowych mechanizmów izolacji, takich jak profile seccomp ograniczające dostęp do wywołań systemowych.

  • Aktualizacja jądra do najnowszej załatanej wersji we wszystkich węzłach
  • Wdrożenie profili seccomp blokujących gniazda AF_ALG dla nieuprzywilejowanych procesów
  • Audyt obrazów kontenerów pod kątem obecności podatnych pakietów bazowych
  • Ograniczenie uprawnień kontenerów (securityContext) w konfiguracji Kubernetes
  • Wdrożenie monitorowania sekwencji wywołań splice() przez narzędzia EDR
  • Wykorzystanie trybów AppArmor lub SELinux do blokowania podejrzanych operacji
  • Regularne skanowanie infrastruktury chmurowej narzędziami typu vulnerability scanner
  • Izolacja krytycznych obciążeń na dedykowanych węzłach

Czym różni się Copy Fail od innych luk w jądrze Linuksa?

Podatność Copy Fail wyróżnia się minimalnym rozmiarem działającego eksploitu publicznego, który zajmuje zaledwie 732 bajty. Zgodnie z analizą badaczy z Xint, luka łączy interfejs AF_ALG z wywołaniem splice() w tzw. „scratch-write bug”. Taka technika pozwala na bezpośredni, 4-bajtowy zapis do page cache jądra. W rezultacie atakujący omija wiele tradycyjnych mechanizmów ochrony pamięci.

Choć większość luk wymagających eskalacji uprawnień potrzebuje skomplikowanych technik obejścia zabezpieczeń, Copy Fail wykorzystuje standardowe, wbudowane funkcje systemowe. Zatem atak jest wyjątkowo stabilny i powtarzalny na różnych dystrybucjach. Co więcej, kod wprowadzający błąd istnieje w jądrze od 2017 roku. To oznacza, że przez osiem lat wszystkie główne systemy były narażone na ten sam wektor ataku.

Cecha podatnościCopy Fail (CVE-2026-31431)Typowe luki LPE w jądrze
Rozmiar eksploitu732 bajtyZwykle kilka-kilkanaście KB
Wektor atakuAF_ALG + splice()Różne podsystemy, często race conditions
Zakres działaniaUniwersalny (od 2017)Często ograniczony do konkretnej wersji
Trudność eksploitacjiNiskaZwykle średnia lub wysoka

Jakie są realne scenariusze ataku z wykorzystaniem CVE-2026-31431?

Realne scenariusze ataku obejmują przede wszystkim ucieczkę z kontenera oraz przejęcie pełnej kontroli nad systemem hosta w środowisku współdzielonym. Zgodnie z analizą ekspertów z Wiz, błąd może pozwolić na eskalację z poziomu nieuprzywilejowanego konta lokalnego bezpośrednio do uprawnień root. W modelu wielodostępnym pozwala to atakującemu na całkowite przejęcie węzła.

Na przykład na hostingu współdzielonym jeden złośliwy klient może użyć 732-bajtowego kodu, aby nadpisać dane sąsiadujących tenantów na tym samym serwerze fizycznym. Z kolei w klastrach Kubernetes zainfekowany pod może skompromitować cały węzeł roboczy. Ponadto atakujący może wykorzystać luki w procesach CI oraz sandboxach, gdzie kod z zewnątrz wykonuje się z ograniczonymi uprawnieniami. Mimo to samo wejście do systemu wymaga dostępu lokalnego.

Jakie funkcje systemowe należy zablokować w ramach mitigacji?

Najskuteczniejszą mitigacją poza aktualizacją jądra jest zablokowanie dostępu nieuprzywilejowanych procesów do interfejsu AF_ALG. Zgodnie z dokumentacją podaną przez Xint, to właśnie ten podsystem kryptograficzny jest punktem wejścia dla całego ataku. Ograniczenie to można wdrożyć za pomocą profili seccomp w środowiskach kontenerowych. Działają one jako bariera zapobiegająca tworzeniu gniazd kryptograficznych.

Ponadto zaleca się wdrożenie reguł auditd monitorujących wywołania systemowe splice() na gniazdach AF_ALG. Zatem nawet jeśli proces spróbuje wykorzystać podatność, administratorzy otrzymają alert. Co więcej, Wiz zaleca weryfikację konfiguracji securityContext w Kubernetes, aby upewnić się, że kontenery nie mają niepotrzebnych uprawnień. W rezultacie zmniejsza się powierzchnia ataku na infrastrukturę chmurową.

  • Blokada wywołań AF_ALG przez profile seccomp dla kontenerów
  • Konfiguracja reguł auditd śledzących wywołania splice() na gniazdach kryptograficznych
  • Ograniczenie uprawnień kontenerów (usunięcie privileged mode) w Kubernetes
  • Wdrożenie polityk AppArmor lub SELinux blokujących podejrzane sekwencje wywołań
  • Weryfikacja i aktualizacja polityk sieciowych w klastrach

Często zadawane pytania

Czy Copy Fail pozwala na zdalne przejęcie serwera przez sieć?

Nie, podatność CVE-2026-31431 wymaga dostępu lokalnego do systemu (LPE). Zgodnie z analizą Tenable, atakujący musi mieć możliwość uruchomienia kodu na maszynie, aby użyć 732-bajtowego eksploitu. Nie jest to podatność typu remote code execution.

Jak szybko należy załatać systemy po wykryciu podatności Copy Fail?

Microsoft Security zaleca natychmiastowe łatanie, ponieważ publiczny exploit krąży w sieci od kwietnia 2026. Zgodnie z informacjami od badaczy z Xint, bariera wejścia do ataku jest minimalna. Priorytet powinny mieć środowiska wielodostępnym.

Czy kontenery w Kubernetes są chronione przez domyślną izolację?

Domyślna izolacja kontenera nie chroni przed tą luką, ponieważ exploit działa na poziomie jądra hosta. Zgodnie z analizą Wiz, podatność pozwala na ucieczkę z kontenera i przejęcie całego węzła roboczego. Konieczne jest zastosowanie profili seccomp blokujących AF_ALG.

Które wersje jądra Linuksa zawierają łatkę na CVE-2026-31431?

Łatki zostały wydane przez głównych dostawców dystrybucji w kwietniu i maju 2026. Zgodnie z raportami Tenable, załatane wersje jądra są dostępne dla Ubuntu, RHEL, Amazon Linux oraz SUSE. Należy zaktualizować system do najnowszej wersji z repozytorium.

Podsumowanie i rekomendacje

Podatność Copy Fail (CVE-2026-31431) stanowi poważne zagrożenie dla środowisk opartych na systemie Linux, szczególnie tych działających w chmurze. Luka dotyczy jądra od 2017 roku, a publiczny exploit ma zaledwie 732 bajty. Kluczowe wnioski z analizy tego zagrożenia przedstawiają się następująco:

Źródło: Copy Fail (CVE-2026-31431): Linux Kernel Privilege Escalation FAQ | Tenable®

  • Błąd pozwala na eskalację uprawnień z poziomu zwykłego użytkownika do root za pomocą standardowych wywołań AF_ALG i splice().
  • Wszystkie główne dystrybucje (Ubuntu, RHEL, Amazon Linux, SUSE) są podatne od ośmiu lat.
  • Środowiska wielodostępnym, klastry Kubernetes oraz hosting współdzielony są najbardziej narażone na skutki kompromitacji.
  • Natychmiastowa aktualizacja jądra oraz wdrożenie profili seccomp to absolutnie niezbędne kroki zaradcze.
  • Monitorowanie wywołań systemowych za pomocą auditd i narzędzi EDR pozwala na szybką detekcję prób eksploitacji.

Sprawdź wersję jądra na swoich serwerach produkcyjnych oraz węzłach Kubernetes już teraz. Zaktualizuj system do najnowszej załatanej wersji dostarczonej przez maintenera dystrybucji i wdróż profile seccomp ograniczające dostęp do AF_ALG. Szczegółowe informacje techniczne oraz publiczny kod eksploitu można znaleźć w raportach na blogach Microsoft Security, Tenable oraz Wiz.