Odkryto informacje o podatności (CVE-2026-43499) w jądrze Linux, otrzymującej nazwę kodową GhostLock, która pozwala nieuprzywilejowanemu lokalnemu użytkownikowi uzyskać uprawnienia roota w systemie oraz wydostać się z izolowanych kontenerów. W połączeniu z innymi podatnościami w przeglądarkach, wykryty problem może być wykorzystywany do zdalnego wykonywania kodu z uprawnieniami roota po otwarciu specjalnie przygotowanej strony internetowej. Problem występuje od jądra Linux 2.6.39 (2011 rok).
Twierdzi się, że podatność może być wykorzystywana w wszystkich dystrybucjach wydanych w ciągu ostatnich 15 lat. Istnieje działający exploit, którego twórcy otrzymali od Google nagrodę w wysokości 92337 dolarów za udaną podwyżkę uprawnień w środowisku z jądrem KernelCTF (Capture the Flag), które zawiera dodatkowe łatki blokujące typowe metody działania exploitów. Skuteczność działania exploitu szacuje się na 97%. Podatność została wykryta za pomocą narzędzia AI VEGA.
Łatka naprawcza została zaakceptowana do bazy kodu jądra 21 kwietnia i weszła w skład wydań jądra 7.1.0, 6.18.36, 6.12.95, 6.6.144 oraz 6.1.177. Status usunięcia podatności w dystrybucjach można ocenić na tych stronach: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. Brak dostępnych obejść blokujących problem.
Podatność występuje w implementacji blokad futex i jest spowodowana dostępem do pamięci po jej zwolnieniu, co następuje w trakcie działania mechanizmu dziedziczenia priorytetów, który zapobiega inwersji priorytetów (blokada zadania o wysokim priorytecie w wyniku oczekiwania na zwolnienie zasobu zajmowanego przez zadanie o niskim priorytecie). W sytuacji, gdy ustawienie blokady kończy się błędem, jądro cofa stan i wywołuje funkcję czyszczenia. W określonych okolicznościach funkcja czyszczenia jest wywoływana w niewłaściwym momencie i zwalnia strukturę danych innego zadania, po czym pozostaje wiszący wskaźnik (dangling pointer) odnoszący się do już zwolnionej pamięci.
Wykorzystanie luki sprowadza się do stworzenia warunków do wystąpienia wiszącego wskaźnika, przy użyciu tylko dostępnych dla użytkownika wywołań systemowych do pracy z wątkami, realizacji prymitywu zapisu przy użyciu wiszącego wskaźnika w dowolnym obszarze pamięci jądra oraz zastosowania tego prymitywu do podstawienia przejścia w tabeli funkcji jądra, aby przechwycić przepływ kontroli.
W zaproponowanym exploicie dokonuje się nadpisania wskaźnika w tabeli funkcji inet6_protos[IPPROTO_UDP], po czym na interfejsie loopback po IPv6 wysyłany jest pakiet UDP, w trakcie przetwarzania którego wywoływany jest handler, na który wskaźnik został podmieniony na poprzednim etapie. Aby uzyskać dostęp root, uzyskany kod exploita rejestruje w /proc/sys/kernel/core_pattern swój handler, wywoływany z uprawnieniami root przy awarii procesów.
Oprócz rozważanego problemu w jądrze Linux odkryto jeszcze kilka niebezpiecznych luk:
- Januscape (CVE-2026-53359) — dostęp do pamięci po jej zwolnieniu (use-after-free) w komponentach hipernadzorcy, KVM, realizowanych po stronie maszyny wirtualnej do emulacji jednostki kontrolującej pamięć (MMU) oraz translacji adresów między hostem a systemem gościa. Luka objawia się na systemach z procesorami Intel i AMD i pozwala uzyskać dostęp z uprawnieniami root do środowiska hosta przy zapewnieniu dostępu z uprawnieniami root w systemie gościa.
Prototyp exploita, uszkadzającego zawartość struktury danych po stronie systemu hosta, stosowanej przy translacji adresów, jest dostępny do pobrania. Opublikowany exploit prowadzi do awaryjnego zakończenia systemu hosta, jednak według twierdzeń badacza, który ją odkrył, stworzył również exploit do wykonania kodu po stronie środowiska hosta z uprawnieniami root, ale na razie go nie publikuje, aby dać czas na zainstalowanie aktualizacji.
Problem został spowodowany błędem popełnionym 16 lat temu, a jego naprawa została zawarta w aktualizacjach 7.1.3, 6.18.38, 6.12.95, 6.6.144 i 6.1.177. Status usunięcia luk w dystrybucjach można ocenić na stronach: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Badacz, który wykrył lukę, otrzymał od Google nagrodę w wysokości 250 tysięcy dolarów w ramach inicjatywy kvmCTF.
Aby wyjść z systemu gościa na serwerach Na procesorach ARM64 ten sam badacz odkrył inną podatność ITScape (CVE-2026-46316), spowodowaną stanem wyścigu w kodzie emulacji vGIC-ITS (Interrupt Translation Service) w KVM. W tej sprawie opublikowano również prototyp exploita.
- Bad Epoll (CVE-2026-46242) — stan wyścigu, który prowadzi do dostępu do pamięci po jej zwolnieniu, w podsystemie jądra epoll. Podatność umożliwia lokalnemu użytkownikowi bez przywilejów wykonanie kodu z prawami roota. Problem jest godny uwagi, ponieważ umożliwia atak nie tylko na klasyczne dystrybucje Linuksa, ale także na oprogramowanie układowe oparte na platformie Android, a także nie jest blokowany przez izolację sandbox w Chrome. Działający exploit został zaprezentowany na zawodach kernelCTF (Google wypłaciło autorowi 71337 USD). Wiarygodność działania exploita oceniono na 99%.
Problem pojawia się od jądra Linux 6.4 (2023 rok). O problemie poinformowano twórców jądra 17 lutego, ale poprawkę udało się opracować po kilku nieudanych próbach dopiero 24 kwietnia. Problem został usunięty w jądrze 6.18.24, 6.12.83, 6.6.136. Status usunięcia podatności w dystrybucjach można ocenić na tych stronach: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.
- CVE-2026-46215 — dostęp do pamięci po jej zwolnieniu w implementacji ioctl DRM_IOCTL_GEM_CHANGE_HANDLE w podsystemie DRM (Direct Rendering Manager). Lokalny użytkownik mający dostęp do urządzeń /dev/dri/renderD* (usługa systemd-logind zapewnia dostęp wszystkim użytkownikom przy uruchamianiu sesji graficznej we wszystkich większych dystrybucjach), może uzyskać prawa roota w systemie. Istnieje exploit. Problem pojawia się od jądra 6.18 i został usunięty w aktualizacjach 7.0.9 i 6.18.32. Status usunięcia podatności w dystrybucjach można ocenić na tych stronach: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.
Źródło: opennet.ru
