GhostLock: 15-letnia luka w jądrze Linuksa pozwalała na eskalację uprawnień do roota - Security Bez Tabu

GhostLock: 15-letnia luka w jądrze Linuksa pozwalała na eskalację uprawnień do roota

Cybersecurity news

Wprowadzenie do problemu / definicja

GhostLock to ujawniona w 2026 roku podatność w jądrze Linuksa, oznaczona jako CVE-2026-43499. Błąd należy do klasy use-after-free i dotyczy mechanizmów obsługi zadań oraz blokad, co w określonych warunkach może prowadzić do lokalnej eskalacji uprawnień.

W praktyce oznacza to, że atakujący, który posiada już możliwość uruchamiania kodu na systemie, może wykorzystać lukę do przejęcia kontroli nad jądrem i uzyskania uprawnień roota. To czyni GhostLock szczególnie groźnym w środowiskach wielodostępnych, serwerowych i kontenerowych.

W skrócie

GhostLock była obecna w jądrze Linuksa przez około 15 lat i została wprowadzona jeszcze w gałęzi 2.6.39. Z dostępnych informacji wynika, że wpływała na główne dystrybucje Linuksa od 2011 roku.

  • Podatność umożliwia lokalną eskalację uprawnień.
  • Badacze zademonstrowali także scenariusz ucieczki z kontenera.
  • Skuteczny exploit został nagrodzony w programie bug bounty kwotą 92 337 dolarów.
  • Poprawkę wdrożono w kwietniu 2026 roku.

Kontekst / historia

Luki w jądrze Linuksa od lat pozostają jednym z najważniejszych obszarów badań bezpieczeństwa. Nawet drobny błąd w zarządzaniu pamięcią, synchronizacji lub obsłudze wyjątkowych ścieżek wykonania może prowadzić do pełnej kompromitacji systemu.

GhostLock wpisuje się w kategorię trudnych do wykrycia podatności logicznych, które przez długi czas pozostają niewidoczne mimo szerokiego wykorzystania i audytów kodu. Szczególnie istotne jest to, że problem istniał przez wiele lat i ujawniał się w specyficznych scenariuszach współbieżności oraz rollbacku.

To kolejny przykład pokazujący, że dojrzały i powszechnie używany kod jądra nadal może zawierać subtelne błędy o wysokim wpływie operacyjnym i bezpieczeństwa.

Analiza techniczna

Sednem GhostLock jest błąd use-after-free, czyli sytuacja, w której pamięć przypisana do obiektu zostaje zwolniona, ale inne elementy systemu nadal posiadają do niej odwołania. Jeśli atakujący zdoła ponownie zapełnić ten obszar kontrolowanymi danymi, może doprowadzić do nieprzewidzianego zachowania jądra.

W opisywanym przypadku problem wiąże się z funkcją pomocniczą odpowiedzialną za sprzątanie po zamkniętym zadaniu w mechanizmie priorytetyzacji pilnych zadań. W typowym przebiegu logika czyszcząca usuwa bieżące zadanie, ale w warunkach deadlocku i rollbacku może zadziałać na niewłaściwym kontekście wykonania.

W scenariuszu requeue operacja porządkowa może zostać wykonana w imieniu uśpionego wątku zamiast aktualnie uruchomionego. To prowadzi do zwolnienia pamięci, do której nadal istnieją aktywne referencje w innych strukturach jądra.

Z punktu widzenia exploita kluczowe są dwa warunki:

  • przewidywalne wywołanie wadliwej ścieżki kodu,
  • przejęcie kontroli nad świeżo zwolnionym obiektem w pamięci.

Badacze wykazali, że odpowiednie ułożenie stanu systemu pozwala wykorzystać ten błąd do przejęcia kontroli nad pamięcią jądra, a następnie do uzyskania uprawnień roota. Dodatkowo pokazano możliwość container escape, co ma duże znaczenie dla środowisk chmurowych i platform opartych na współdzielonym jądrze hosta.

Konsekwencje / ryzyko

Najpoważniejszą konsekwencją GhostLock jest możliwość uzyskania uprawnień roota przez użytkownika lokalnego. W praktyce oznacza to, że każde wcześniejsze włamanie zakończone ograniczonym dostępem do hosta może zostać rozszerzone do pełnej kompromitacji systemu.

Ryzyko dotyczy także sytuacji, w których początkowy dostęp wynika z innej podatności, błędnej konfiguracji usługi albo przejęcia konta o niskich uprawnieniach. GhostLock może więc działać jako drugi etap ataku, znacząco zwiększając wpływ pozornie mniej groźnych incydentów.

Szczególnie istotne jest zagrożenie dla środowisk kontenerowych. Jeśli luka umożliwia przejście z kontekstu kontenera do uprzywilejowanego dostępu na hoście, skutki naruszenia mogą objąć cały węzeł i wszystkie uruchomione na nim workloady.

Wysokie ryzyko występuje zwłaszcza tam, gdzie:

  • użytkownicy mogą uruchamiać własny kod na systemie,
  • hosty obsługują wielu najemców lub wiele zespołów,
  • wykorzystywane są kontenery współdzielące to samo jądro,
  • organizacja utrzymuje stare obrazy bazowe lub ma długi cykl aktualizacji.

Rekomendacje

Podstawowym działaniem obronnym jest szybkie zastosowanie aktualizacji jądra zawierającej poprawkę dla CVE-2026-43499. Należy zweryfikować nie tylko systemy produkcyjne, ale również hosty deweloperskie, maszyny wirtualne, środowiska CI/CD, platformy Kubernetes oraz obrazy kontenerowe.

W praktyce warto wdrożyć następujące kroki:

  • przeprowadzić pełną inwentaryzację wersji jądra na wszystkich hostach,
  • potwierdzić wdrożenie poprawek również w środowiskach zapasowych i DR,
  • ograniczyć możliwość lokalnego uruchamiania niezatwierdzonego kodu,
  • zredukować liczbę kont uprzywilejowanych i wzmocnić segmentację dostępu,
  • monitorować zdarzenia wskazujące na nietypową eskalację uprawnień,
  • przeanalizować polityki bezpieczeństwa kontenerów, w tym capabilities, seccomp oraz profile AppArmor lub SELinux,
  • sprawdzić obrazy bazowe i pipeline’y budowania artefaktów pod kątem podatnych komponentów.

W środowiskach wysokiego ryzyka warto czasowo zwiększyć poziom monitoringu telemetrycznego hostów linuxowych, zwłaszcza pod kątem anomalii w zachowaniu procesów i wątków, nietypowych awarii oraz prób uzyskania dostępu uprzywilejowanego po wykonaniu kodu w kontenerze.

Podsumowanie

GhostLock pokazuje, że nawet wieloletni i szeroko stosowany kod jądra może zawierać krytyczne błędy logiczne prowadzące do pełnej kompromitacji systemu. Połączenie długiego okresu obecności w ekosystemie, możliwości lokalnej eskalacji uprawnień oraz potencjału do ucieczki z kontenera sprawia, że CVE-2026-43499 należy traktować jako podatność o wysokim znaczeniu operacyjnym.

Dla zespołów bezpieczeństwa to wyraźny sygnał, że ochrona środowisk linuxowych wymaga nie tylko regularnego patchowania, ale także dokładnej inwentaryzacji, kontroli uprawnień i stałego monitorowania zachowania hostów oraz kontenerów.

Źródła

  1. SecurityWeek — https://www.securityweek.com/15-year-old-linux-vulnerability-ghostlock-earns-researchers-92k-from-google/
  2. Linux Kernel Archives — https://www.kernel.org/
  3. CVE Program — https://www.cve.org/
  4. Google kernelCTF — https://kernelctf.dev/