CVE-2026-23111: krytyczna luka w jądrze Linux pozwala lokalnie przejąć uprawnienia root przez nf_tables - Security Bez Tabu

CVE-2026-23111: krytyczna luka w jądrze Linux pozwala lokalnie przejąć uprawnienia root przez nf_tables

Cybersecurity news

Wprowadzenie do problemu / definicja

W jądrze Linux wykryto krytyczną podatność oznaczoną jako CVE-2026-23111, która umożliwia lokalną eskalację uprawnień do poziomu root. Błąd dotyczy podsystemu nf_tables, wykorzystywanego do filtrowania ruchu sieciowego i zarządzania regułami zapory.

Problem ma charakter use-after-free i wynika z błędu logicznego w obsłudze elementów typu catchall. Choć sama luka nie daje zdalnego wektora ataku, może zostać użyta po uzyskaniu dostępu do konta lokalnego lub jako element ucieczki z kontenera.

W skrócie

  • CVE-2026-23111 umożliwia lokalnemu użytkownikowi uzyskanie uprawnień root.
  • Podatność dotyczy mechanizmu nf_tables w jądrze Linux.
  • Źródłem problemu jest odwrócony warunek logiczny podczas rollbacku nieudanej transakcji.
  • Skutkiem jest niespójność liczników referencji i use-after-free w przestrzeni jądra.
  • Publicznie dostępne są analizy techniczne oraz reprodukcje ataku.
  • Najbardziej zagrożone są systemy z aktywnym nf_tables i nieuprzywilejowanymi user namespaces.

Kontekst / historia

Poprawka dla tej luki została wprowadzona upstreamowo na początku lutego 2026 roku. W kolejnych miesiącach badacze opublikowali szczegółowe materiały pokazujące zarówno przyczynę błędu, jak i praktyczne scenariusze jego wykorzystania.

W czerwcu 2026 roku temat zyskał szeroki rozgłos po publikacji pełnych analiz eksploatacji prowadzących do przejęcia uprawnień root na popularnych dystrybucjach Linuksa. To kolejny przykład rosnącej liczby lokalnych podatności jądra, które stają się szczególnie groźne w scenariuszach post-exploitation.

Analiza techniczna

Źródłem problemu jest funkcja nft_map_catchall_activate() w podsystemie nf_tables. Mechanizm transakcyjny tego komponentu opiera się na maskach generacyjnych, które kontrolują aktywację i dezaktywację obiektów podczas zmian w zestawach reguł.

Podczas usuwania zestawu typu verdict map elementy catchall są dezaktywowane, a powiązane obiekty, takie jak łańcuchy reguł, tracą odpowiednie referencje. Jeśli jednak transakcja kończy się błędem i zostaje wycofana, system powinien przywrócić wcześniejszy stan.

Właśnie w tym miejscu występuje podatność. Warunek odpowiedzialny za ponowną aktywację elementu został zapisany odwrotnie, co powodowało błędną ocenę stanu aktywności obiektu. W efekcie po abortowaniu transakcji element catchall mógł pozostać nieaktywny, a licznik referencji powiązanego obiektu nie był odtwarzany prawidłowo.

To prowadziło do sytuacji, w której obiekt mógł zostać zwolniony z pamięci mimo istniejących odwołań z innych struktur. Powstawał klasyczny use-after-free w przestrzeni jądra, który przy odpowiednim łańcuchu eksploatacji pozwalał na wyciek adresów, obejście mechanizmów ochronnych i przejęcie kontroli nad wykonaniem kodu.

Opublikowane analizy pokazały praktyczne wykorzystanie luki na popularnych dystrybucjach, w tym Debianie, Ubuntu oraz środowiskach powiązanych z Red Hat. Istotnym elementem powierzchni ataku są nieuprzywilejowane przestrzenie nazw użytkownika, które umożliwiają wejście na podatną ścieżkę kodu także zwykłym użytkownikom.

Konsekwencje / ryzyko

Najważniejszą konsekwencją CVE-2026-23111 jest możliwość lokalnego przejęcia pełnych uprawnień administracyjnych. Oznacza to, że nawet ograniczony dostęp do systemu może zostać szybko rozszerzony do całkowitej kompromitacji hosta.

Ryzyko jest szczególnie wysokie w środowiskach wieloużytkownikowych, na serwerach z dostępem shellowym, hostach kontenerowych, platformach CI/CD oraz wszędzie tam, gdzie użytkownicy lub workloady mogą tworzyć user namespaces. W takich przypadkach luka może pełnić rolę bardzo skutecznego drugiego etapu ataku.

Dodatkowym czynnikiem ryzyka jest publiczna dostępność szczegółowych materiałów technicznych i działających reprodukcji. To znacząco obniża próg wejścia dla atakujących i zwiększa prawdopodobieństwo szybkiego wykorzystania podatności przeciwko systemom bez poprawek.

Rekomendacje

Najważniejszym krokiem jest niezwłoczna aktualizacja jądra Linux do wersji zawierającej poprawkę oraz wykonanie restartu systemu. Samo wdrożenie pakietu bez ponownego uruchomienia hosta nie eliminuje ryzyka, jeśli nadal pracuje podatne jądro.

  • Zidentyfikować systemy korzystające z podatnych wersji jądra z aktywnym nf_tables.
  • Sprawdzić, czy w środowisku włączone są nieuprzywilejowane user namespaces.
  • Nadać najwyższy priorytet hostom współdzielonym, runnerom CI, serwerom z dostępem shellowym i platformom kontenerowym.
  • Zweryfikować biuletyny bezpieczeństwa dostawców dystrybucji i dokładne wersje pakietów naprawczych.
  • Przeanalizować polityki hardeningu ograniczające dostęp nieuprzywilejowanych użytkowników do funkcji zwiększających powierzchnię ataku.

Jako środek tymczasowy można rozważyć ograniczenie lub wyłączenie nieuprzywilejowanych user namespaces tam, gdzie jest to operacyjnie możliwe. Nie zastępuje to jednak właściwej poprawki, a jedynie podnosi koszt skutecznej eksploatacji.

Z perspektywy detekcji warto monitorować nietypowe użycie narzędzi do manipulacji nftables, próby tworzenia nowych przestrzeni nazw przez procesy aplikacyjne, anomalie w pracy hosta oraz oznaki możliwej eskalacji uprawnień lub ucieczki z kontenera.

Podsumowanie

CVE-2026-23111 pokazuje, jak pozornie drobny błąd logiczny w jądrze Linux może prowadzić do poważnej kompromitacji systemu. Wadliwa obsługa elementów catchall w nf_tables otwiera drogę do use-after-free, a następnie do lokalnej eskalacji uprawnień do root.

W sytuacji, gdy analizy techniczne i reprodukcje ataku są już publicznie dostępne, organizacje powinny traktować tę lukę jako realne zagrożenie operacyjne. Priorytetem pozostają szybkie aktualizacje, restart systemów oraz ograniczanie mechanizmów zwiększających powierzchnię ataku.

Źródła

  1. https://thehackernews.com/2026/06/one-character-linux-kernel-flaw-enables.html
  2. https://blog.exodusintel.com/2026/06/08/off-by-exploiting-a-use-after-free-in-the-linux-kernel/
  3. https://fuzzinglabs.com/repro-cve-2026-23111/
  4. https://nvd.nist.gov/vuln/detail/CVE-2026-23111
  5. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f41c5d151078c5348271ffaf8e7410d96f2d82f8