Copy Fail (CVE-2026-31431): nowa podatność Linux umożliwia eskalację uprawnień do root - Security Bez Tabu

Copy Fail (CVE-2026-31431): nowa podatność Linux umożliwia eskalację uprawnień do root

Cybersecurity news

Wprowadzenie do problemu / definicja

W ekosystemie Linux ujawniono nową podatność lokalnej eskalacji uprawnień oznaczoną jako CVE-2026-31431, określaną nazwą Copy Fail. Luka dotyczy jądra systemu i pozwala użytkownikowi bez uprawnień administracyjnych uzyskać dostęp root poprzez modyfikację danych znajdujących się w page cache dla plików możliwych do odczytu. To szczególnie niebezpieczny scenariusz, ponieważ podważa podstawowe założenie separacji między użytkownikiem nieuprzywilejowanym a plikami wykonywanymi z podniesionymi uprawnieniami.

Problem ma charakter lokalny, co oznacza, że atakujący musi najpierw uzyskać dostęp do systemu. Mimo to wpływ podatności jest bardzo poważny, zwłaszcza w środowiskach współdzielonych, serwerowych i kontenerowych, gdzie nawet niski poziom dostępu może stać się punktem wyjścia do pełnego przejęcia hosta.

W skrócie

Copy Fail to podatność typu local privilege escalation o wysokim poziomie ryzyka. Jej źródłem jest błąd logiczny w podsystemie kryptograficznym jądra Linux, konkretnie w module obsługującym operacje AEAD przez interfejs AF_ALG. Luka została wprowadzona do kodu kilka lat temu i może zostać wykorzystana do nadpisania fragmentu page cache pliku setuid, a następnie uruchomienia zmodyfikowanego binarium z uprawnieniami root.

  • Podatność: CVE-2026-31431
  • Nazwa: Copy Fail
  • Typ: lokalna eskalacja uprawnień
  • Wpływ: uzyskanie uprawnień root
  • Obszar problemu: jądro Linux, moduł algif_aead i interfejs AF_ALG
  • Szczególne ryzyko: hosty wieloużytkownikowe, serwery, platformy CI/CD i środowiska kontenerowe

Kontekst / historia

Podatność została publicznie opisana pod koniec kwietnia 2026 roku. Według dostępnych informacji może dotyczyć wielu popularnych dystrybucji Linuksa rozwijanych od 2017 roku, w tym systemów wykorzystywanych w środowiskach enterprise oraz cloud. Sam charakter błędu przywołuje skojarzenia z wcześniejszą luką Dirty Pipe, ponieważ w obu przypadkach kluczowym problemem jest możliwość nieuprawnionej modyfikacji danych przechowywanych w page cache.

Różnica polega jednak na mechanizmie eksploatacji. W przypadku Copy Fail źródło problemu nie wynika z ogólnego działania potoków, lecz z interakcji pomiędzy AF_ALG a implementacją operacji AEAD w jądrze. Oznacza to odrębny łańcuch ataku, choć rezultat pozostaje podobny: wykonanie kontrolowanego kodu z poziomu root po wykorzystaniu lokalnej luki.

Analiza techniczna

Sednem podatności jest błąd logiczny w module algif_aead, który obsługuje kryptograficzne operacje AEAD przez gniazda AF_ALG. W określonych warunkach strona pamięci pochodząca z page cache może zostać użyta jako zapisywalny bufor docelowy w operacji wykonywanej przez jądro. W efekcie proces działający bez uprawnień administracyjnych może doprowadzić do kontrolowanego zapisu niewielkiej liczby bajtów do pamięci podręcznej pliku, którego formalnie nie powinien móc modyfikować.

Publicznie opisywany scenariusz ataku obejmuje przygotowanie gniazda AF_ALG, powiązanie go z odpowiednim algorytmem kryptograficznym, zbudowanie ładunku oraz wykonanie operacji zapisu do zbuforowanej kopii pliku setuid, takiego jak binarium odpowiedzialne za przełączanie użytkownika. Choć modyfikacja dotyczy page cache, a nie samego pliku na dysku w klasycznym rozumieniu, to w praktyce wystarcza do tego, by kolejne uruchomienie pliku wykonało zmienioną zawartość z uprawnieniami root.

Istotną cechą Copy Fail jest stosunkowo wysoka przewidywalność ataku. Opisy techniczne wskazują, że exploit nie wymaga wyścigu czasowego, zgadywania adresów jądra ani szczególnie złożonych warunków środowiskowych. Z perspektywy obrony oznacza to większą niezawodność wykorzystania i niższy próg wejścia dla napastnika. Dodatkowo współdzielony charakter page cache sprawia, że skutki mogą wyjść poza pojedynczy proces i mieć znaczenie także dla izolacji kontenerów współdzielących tego samego hosta.

Konsekwencje / ryzyko

Z perspektywy bezpieczeństwa Copy Fail stanowi poważne zagrożenie wszędzie tam, gdzie atakujący może uzyskać lokalny dostęp do systemu, nawet jeśli początkowo działa z bardzo ograniczonymi uprawnieniami. W praktyce oznacza to realne ryzyko dla wielu organizacji korzystających z Linuksa jako platformy dla usług produkcyjnych, środowisk developerskich i infrastruktury wielodzierżawnej.

  • pełna eskalacja uprawnień do root,
  • możliwość trwałego przejęcia hosta,
  • kradzież sekretów, kluczy i danych uwierzytelniających,
  • instalacja backdoorów i manipulacja logami,
  • osłabienie izolacji pomiędzy workloadami kontenerowymi,
  • ułatwienie ruchu bocznego w infrastrukturze.

Szczególnie narażone są serwery z wieloma kontami użytkowników, platformy CI/CD, hosty kontenerowe, systemy akademickie i badawcze oraz środowiska, w których wykonywany jest kod pochodzący od różnych zespołów, klientów lub pipeline’ów automatyzacji. W takich przypadkach nawet pojedynczy kompromitowany proces może szybko doprowadzić do przejęcia całego systemu operacyjnego.

Rekomendacje

Organizacje powinny potraktować Copy Fail jako podatność wymagającą pilnej oceny ekspozycji i wdrożenia aktualizacji bezpieczeństwa. Najważniejszym krokiem jest ustalenie, które hosty Linux wykorzystują podatne wersje jądra oraz czy producenci dystrybucji opublikowali już poprawki dla używanych gałęzi systemu.

  • zidentyfikować hosty uruchamiające podatne wersje jądra,
  • wdrożyć poprawki bezpieczeństwa od dostawców dystrybucji,
  • przyspieszyć restarty systemów po aktualizacji kernela,
  • ograniczyć lokalny dostęp shellowy tylko do niezbędnych użytkowników i usług,
  • przeanalizować i zredukować liczbę plików setuid,
  • wzmocnić monitoring użycia AF_ALG, splice() oraz nietypowych uruchomień binariów setuid,
  • zaostrzyć polityki bezpieczeństwa na hostach kontenerowych obsługujących różne poziomy zaufania.

W warstwie operacyjnej warto również rozwijać detekcję anomalii związanych z nieoczekiwanym uruchamianiem plików setuid, symptomami lokalnej eskalacji uprawnień oraz nietypowym zachowaniem procesów wykorzystujących funkcje kryptograficzne jądra. Tam, gdzie to możliwe, należy ograniczyć możliwość uruchamiania niezweryfikowanego kodu przez użytkowników lokalnych i narzędzia automatyzacji.

Podsumowanie

Copy Fail pokazuje, że nawet dojrzałe komponenty jądra Linux mogą zawierać błędy o bardzo dużej wartości ofensywnej. Choć podatność nie daje zdalnego dostępu sama z siebie, to po uzyskaniu lokalnej obecności może umożliwić pełne przejęcie systemu poprzez manipulację page cache i uruchomienie zmodyfikowanego binarium setuid. Dla zespołów bezpieczeństwa oznacza to konieczność szybkiego patchowania, ograniczania lokalnej powierzchni ataku i ponownej oceny ryzyka na hostach wieloużytkownikowych oraz kontenerowych.

Źródła

  1. The Hacker News — New Linux 'Copy Fail’ Vulnerability Enables Root Access on Major Distributions — https://thehackernews.com/2026/04/new-linux-copy-fail-vulnerability.html
  2. CVE Record — CVE-2026-31431 — https://www.cve.org/CVERecord?id=CVE-2026-31431
  3. Amazon Linux Security Center — Advisory for CVE-2026-31431 — https://explore.alas.aws.amazon.com/CVE-2026-31431.html
  4. Debian Security Tracker — CVE-2026-31431 — https://security-tracker.debian.org/tracker/CVE-2026-31431
  5. Ubuntu Security — CVE-2026-31431 — https://ubuntu.com/security/CVE-2026-31431