
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
RefluXFS to nowo ujawniona podatność lokalnej eskalacji uprawnień w jądrze Linuksa, oznaczona jako CVE-2026-64600. Luka dotyczy systemu plików XFS z włączonym mechanizmem reflink i umożliwia nieuprzywilejowanemu użytkownikowi nadpisanie plików należących do roota, a następnie uzyskanie trwałego dostępu administracyjnego.
To szczególnie niebezpieczny scenariusz dla środowisk wieloużytkownikowych, serwerowych i chmurowych, gdzie lokalne uruchomienie procesu przez użytkownika, zadanie automatyzacji lub komponent aplikacyjny jest realnym modelem ataku.
W skrócie
- Podatność została oznaczona jako CVE-2026-64600.
- Dotyczy jądra Linux 4.11 i nowszych, jeśli system korzysta z XFS z aktywnym
reflink=1. - Atak wymaga lokalnego dostępu do systemu, ale nie wymaga wcześniejszych uprawnień roota.
- Skutkiem może być modyfikacja plików chronionych, w tym binariów setuid-root i plików uwierzytelniających.
- Zmiany mogą pozostać trudne do wykrycia, ponieważ metadane plików nie muszą się zmieniać.
Kontekst / historia
Źródło problemu sięga 2017 roku, gdy do jądra Linuksa trafiły zmiany związane z obsługą reflink w XFS, począwszy od linii 4.11. Przez lata podatność pozostawała niezauważona, mimo że dotyczyła podstawowego mechanizmu copy-on-write na poziomie systemu plików.
Ujawnienie luki nastąpiło w lipcu 2026 roku. Analizy wskazują, że problem może obejmować część domyślnych instalacji systemów opartych na Red Hat Enterprise Linux, a także wybrane wydania Fedora Server i Amazon Linux, jeśli spełnione są określone warunki konfiguracji.
Znaczenie tej podatności wynika z faktu, że może ona działać jako drugi etap ataku. Wystarczy wcześniej uzyskany ograniczony dostęp lokalny, na przykład przez konto użytkownika, proces w kontenerze, runner CI/CD albo częściowo przejętą usługę.
Analiza techniczna
Podstawą exploita jest błąd wyścigu w obsłudze reflink i direct I/O w XFS. Atakujący tworzy klon chronionego pliku z użyciem reflink, co powoduje współdzielenie tych samych bloków danych zgodnie z modelem copy-on-write.
Następnie wykonywane są współbieżne operacje zapisu z użyciem O_DIRECT, które omijają cache strony i trafiają bezpośrednio do warstwy blokowej. Problem pojawia się wtedy, gdy jądro odczytuje mapowanie bloków, zwalnia blokadę inode na czas rezerwacji zasobów transakcyjnych, a w międzyczasie inny wątek kończy operację copy-on-write i zmienia mapowanie klonu.
Po ponownym przejęciu blokady pierwszy wątek działa na nieaktualnym mapowaniu. W efekcie system błędnie traktuje blok jako niewspółdzielony i dopuszcza bezpośredni zapis, który ostatecznie trafia do bloku należącego do oryginalnego, chronionego pliku. To klasyczny przypadek błędu typu check-then-use, ale osadzony w logice systemu plików i mechanizmach transakcyjnych XFS.
Kluczowe jest to, że modyfikacja treści pliku może nastąpić bez typowych zmian w jego metadanych. W praktyce oznacza to brak zmian właściciela, uprawnień, znaczników czasu lub bitu setuid, co znacząco utrudnia wykrycie kompromitacji podczas rutynowej kontroli.
Skuteczny atak wymaga spełnienia kilku warunków:
- system działa na podatnej wersji jądra,
- używany jest system plików XFS z aktywnym
reflink=1, - plik ofiary i katalog zapisywalny przez atakującego znajdują się na tym samym systemie plików.
Konsekwencje / ryzyko
Najpoważniejszą konsekwencją jest pełna lokalna eskalacja uprawnień do roota. Atakujący może nie tylko jednorazowo przejąć kontrolę nad systemem, ale również utrwalić dostęp przez modyfikację krytycznych plików wykonywalnych, danych uwierzytelniających lub innych wrażliwych zasobów.
Ryzyko operacyjne jest szczególnie wysokie tam, gdzie lokalny kod może być uruchamiany przez wielu użytkowników lub komponenty aplikacyjne. Dotyczy to między innymi hostów kontenerowych, runnerów CI, serwerów bastionowych, platform developerskich, środowisk laboratoryjnych oraz współdzielonych środowisk chmurowych.
Dodatkowym problemem jest ograniczona wykrywalność. Ponieważ exploit działa na poziomie blokowym, skutki pozostają trwałe na dysku również po restarcie systemu, a brak oczywistych zmian w atrybutach pliku może opóźnić reakcję zespołów bezpieczeństwa.
Rekomendacje
Priorytetem powinno być szybkie ustalenie, czy dane środowisko spełnia warunki podatności. Należy zweryfikować, czy host korzysta z XFS oraz czy wolumen został utworzony z aktywną obsługą reflink.
Kolejnym krokiem jest niezwłoczne wdrożenie poprawek dostarczonych przez producenta dystrybucji. Sama instalacja zaktualizowanego kernela nie wystarcza — konieczny jest pełny restart systemu i potwierdzenie, że uruchomiona wersja jądra zawiera poprawkę.
Do czasu zakończenia aktualizacji warto ograniczyć możliwość uruchamiania niezaufanego kodu lokalnie. Obejmuje to zaostrzenie kontroli dostępu do powłoki, kontenerów uprzywilejowanych, runnerów buildowych, zadań automatyzacji oraz katalogów współdzielonych z plikami wrażliwymi.
Dobrym uzupełnieniem ochrony jest rozszerzenie monitoringu o kontrolę integralności treści krytycznych plików, a nie tylko ich metadanych. Hashowanie binariów setuid, plików uwierzytelniania i kluczowych komponentów systemowych może pomóc wykryć nadużycia, które nie będą widoczne w standardowym przeglądzie atrybutów.
Podsumowanie
RefluXFS pokazuje, że groźne podatności w jądrze Linuksa nie muszą wynikać z klasycznej korupcji pamięci. W tym przypadku wystarczy lokalny dostęp i określona konfiguracja XFS, aby doprowadzić do trwałej eskalacji uprawnień do roota.
Najbardziej zagrożone są systemy serwerowe i współdzielone korzystające z XFS z włączonym reflinkiem. Z perspektywy obrony kluczowe znaczenie mają szybkie patchowanie, restart do poprawionego kernela oraz ograniczenie możliwości uruchamiania niezaufanego kodu lokalnie.
Źródła
- The Hacker News — https://thehackernews.com/2026/07/nine-year-old-refluxfs-linux-flaw-gives.html
- Qualys: RefluXFS: A Linux Kernel Local Privilege Escalation to Root in XFS (CVE-2026-64600) — https://blog.qualys.com/vulnerabilities-threat-research/2026/07/22/refluxfs-a-linux-kernel-local-privilege-escalation-to-root-in-xfs-cve-2026-64600
- oss-security: RefluXFS: LPE in the Linux kernel via XFS reflink race (CVE-2026-64600) — https://seclists.org/oss-sec/2026/q3/214
- Debian Security Tracker: CVE-2026-64600 — https://security-tracker.debian.org/tracker/CVE-2026-64600
- Red Hat CVE Database: CVE-2026-64600 — https://access.redhat.com/security/cve/CVE-2026-64600