DirtyDecrypt (CVE-2026-31635): publiczny PoC zwiększa ryzyko eskalacji uprawnień w Linuksie - Security Bez Tabu

DirtyDecrypt (CVE-2026-31635): publiczny PoC zwiększa ryzyko eskalacji uprawnień w Linuksie

Cybersecurity news

Wprowadzenie do problemu / definicja

DirtyDecrypt, oznaczony jako CVE-2026-31635, to poważna podatność lokalnej eskalacji uprawnień w jądrze Linux. Luka wynika z nieprawidłowej obsługi mechanizmu copy-on-write podczas przetwarzania odszyfrowywanych buforów sieciowych, co może umożliwić użytkownikowi bez uprawnień administracyjnych wpływ na dane należące do bardziej uprzywilejowanych procesów lub do pamięci podręcznej chronionych plików.

Znaczenie problemu istotnie wzrosło po opublikowaniu publicznego kodu proof-of-concept. Taki rozwój sytuacji zwykle przyspiesza powstawanie kolejnych wariantów exploitów i skraca czas reakcji dostępny zespołom odpowiedzialnym za bezpieczeństwo.

W skrócie

  • CVE-2026-31635, znane jako DirtyDecrypt lub DirtyCBC, dotyczy jądra Linux.
  • Podatność jest błędem typu Local Privilege Escalation.
  • Źródłem problemu jest brak właściwej ochrony copy-on-write w ścieżce rxgk_decrypt_skb().
  • Skutkiem może być modyfikacja współdzielonych stron pamięci, a w konsekwencji wpływ na dane procesów uprzywilejowanych lub page cache chronionych plików.
  • Najbardziej narażone są systemy z aktywnym CONFIG_RXGK.
  • Publicznie dostępny PoC zwiększa prawdopodobieństwo szybkiej operacjonalizacji ataków.

Kontekst / historia

Podatność została zgłoszona w maju 2026 roku i wpisuje się w szerszą klasę błędów związanych z nieprawidłową obsługą zapisu do współdzielonych stron pamięci w jądrze Linux. W ostatnim czasie badacze bezpieczeństwa zwracają uwagę na rosnącą liczbę luk wykorzystujących subtelne zależności pomiędzy page cache, buforami jądra oraz mechanizmem copy-on-write.

DirtyDecrypt jest kolejnym przykładem tego typu problemów. Chociaż wymaga lokalnego dostępu do systemu, może stanowić bardzo skuteczny element łańcucha ataku po wcześniejszym uzyskaniu ograniczonego dostępu. Upublicznienie kodu demonstracyjnego dodatkowo zwiększa presję na szybkie działania naprawcze.

Analiza techniczna

Sedno podatności znajduje się w funkcji rxgk_decrypt_skb(), odpowiedzialnej za określoną ścieżkę odszyfrowywania przychodzących buforów sk_buff. W prawidłowym modelu bezpieczeństwa Linux modyfikacja współdzielonej strony pamięci powinna zostać poprzedzona utworzeniem prywatnej kopii, tak aby zapis nie wpływał na inne obiekty korzystające z tej samej strony.

W przypadku DirtyDecrypt ten warunek nie jest zachowany w odpowiedni sposób. W rezultacie zapis może objąć stronę, która nadal pozostaje współdzielona. To z kolei otwiera drogę do nadpisania danych obecnych w pamięci procesów uprzywilejowanych albo do modyfikacji page cache dla plików mających istotne znaczenie dla bezpieczeństwa systemu.

Techniczna istota zagrożenia polega na tym, że atak nie musi opierać się wyłącznie na klasycznej modyfikacji danych na dysku. Wystarczy przejęcie kontroli nad reprezentacją danych w pamięci podręcznej jądra, aby wpłynąć na sposób ich odczytu przez system i procesy działające z wyższymi uprawnieniami.

Problem dotyczy przede wszystkim konfiguracji, w których aktywne jest CONFIG_RXGK. Oznacza to, że nie wszystkie instalacje Linuksa są automatycznie narażone, jednak w praktyce powierzchnia ataku może obejmować wybrane współczesne dystrybucje desktopowe, rolling-release, środowiska deweloperskie oraz niektóre hosty wielodostępowe i kontenerowe.

Konsekwencje / ryzyko

Najpoważniejszym skutkiem wykorzystania CVE-2026-31635 jest możliwość uzyskania uprawnień roota przez lokalnego użytkownika. W praktyce oznacza to pełne przejęcie hosta, instalację mechanizmów persistence, wyłączenie narzędzi ochronnych, kradzież sekretów oraz wykorzystanie systemu jako punktu wyjścia do dalszych działań w sieci organizacji.

Ryzyko rośnie szczególnie w środowiskach współdzielonych, gdzie z jednego systemu korzysta wielu użytkowników albo wiele różnych obciążeń aplikacyjnych. Podatność może być również atrakcyjna w infrastrukturze kontenerowej jako element większego łańcucha post-exploitation prowadzącego do kompromitacji hosta.

Dostępność publicznego PoC dodatkowo zwiększa zagrożenie. Gdy kod demonstracyjny trafia do otwartego obiegu, próg wejścia dla atakujących znacząco się obniża, a czas potrzebny do opracowania bardziej stabilnych wariantów eksploatacji zwykle się skraca.

Rekomendacje

Priorytetem powinno być potwierdzenie, czy używane wersje jądra zawierają poprawkę dla CVE-2026-31635 oraz czy dana konfiguracja obejmuje aktywne CONFIG_RXGK. Organizacje powinny jak najszybciej przeanalizować biuletyny bezpieczeństwa dostawców dystrybucji i wdrożyć zaktualizowane pakiety kernela, a następnie przeprowadzić restart hostów.

Do czasu pełnego załatania środowiska warto ograniczyć możliwość lokalnego uruchamiania niezatwierdzonego kodu, szczególnie przez użytkowników z dostępem do powłoki. Zalecane jest także zwiększenie monitoringu pod kątem prób eskalacji uprawnień oraz nietypowych zmian dotyczących kluczowych plików i procesów uprzywilejowanych.

  • Przeprowadzić inwentaryzację wersji jądra na wszystkich hostach.
  • Zweryfikować konfigurację kompilacji jądra pod kątem CONFIG_RXGK.
  • Wdrożyć poprawki bezpieczeństwa i wykonać restart systemów.
  • Ograniczyć lokalny dostęp interaktywny tam, gdzie nie jest niezbędny.
  • Wzmocnić detekcję zdarzeń LPE w EDR i SIEM.
  • Monitorować anomalie związane z SUID, sudoers i integralnością plików systemowych.
  • Oddzielić obciążenia o różnym poziomie zaufania w środowiskach kontenerowych.

Podsumowanie

DirtyDecrypt, czyli CVE-2026-31635, to istotna podatność lokalnej eskalacji uprawnień w jądrze Linux, której znaczenie wzrosło po publikacji publicznego kodu PoC. Błąd związany z niewłaściwą obsługą copy-on-write w ścieżce rxgk_decrypt_skb() może umożliwić modyfikację wrażliwych danych w pamięci i doprowadzić do pełnej kompromitacji systemu.

Dla zespołów bezpieczeństwa i administratorów oznacza to konieczność szybkiej weryfikacji narażonych konfiguracji, wdrożenia poprawek oraz traktowania tej luki jako realnego zagrożenia post-exploitation, zwłaszcza w środowiskach wielodostępowych i kontenerowych.

Źródła

  1. https://thehackernews.com/2026/05/dirtydecrypt-poc-released-for-linux.html
  2. https://nvd.nist.gov/vuln/detail/CVE-2026-31635
  3. https://github.com/
  4. https://www.kernelconfig.io/
  5. https://lore.kernel.org/