CVE-2026-89775: krytyczna luka w Linux KVM na ARM64 umożliwia dostęp do pamięci hosta - Security Bez Tabu

CVE-2026-89775: krytyczna luka w Linux KVM na ARM64 umożliwia dostęp do pamięci hosta

Cybersecurity news

Wprowadzenie do problemu / definicja

Wirtualizacja opiera się na ścisłej izolacji pomiędzy maszyną gościa a systemem hosta. Nowo ujawniona podatność CVE-2026-89775 narusza tę granicę w środowiskach Linux korzystających z KVM na architekturze ARM64. Problem dotyczy mechanizmu zagnieżdżonej wirtualizacji i może umożliwić uprzywilejowanemu gościowi odczyt oraz zapis pamięci jądra hosta.

Z punktu widzenia bezpieczeństwa jest to scenariusz wyjątkowo poważny, ponieważ przełamanie izolacji guest-to-host może prowadzić do pełnego przejęcia systemu bazowego. Choć podatność nie dotyczy wszystkich konfiguracji, jej wpływ w podatnych wdrożeniach należy traktować priorytetowo.

W skrócie

  • Podatność została oznaczona jako CVE-2026-89775.
  • Dotyczy komponentu KVM w jądrze Linux na platformie ARM64.
  • Warunkiem eksploatacji jest aktywna nested virtualization.
  • Błąd może pozostawić zwolnioną pamięć hosta nadal zmapowaną dla gościa.
  • Skutkiem może być odczyt, modyfikacja pamięci hosta, ucieczka z VM i wykonanie kodu.

Kontekst / historia

KVM od lat pozostaje jednym z podstawowych mechanizmów wirtualizacji w ekosystemie Linux i jest szeroko wykorzystywany zarówno w centrach danych, jak i środowiskach chmurowych, testowych oraz deweloperskich. Z tego względu wszelkie błędy naruszające granicę pomiędzy gościem a hostem mają szczególne znaczenie operacyjne i strategiczne.

Podatność została zgłoszona przez badacza Hyunwoo Kima i publicznie ujawniona we wrześniu 2026 roku. Sprawa wpisuje się w szerszy trend, w którym najbardziej niebezpieczne błędy w hipernadzorcach wynikają nie z prostych przepełnień, lecz z subtelnych problemów logicznych dotyczących zarządzania pamięcią, translacją adresów i stanem procesora.

Istotne jest jednak to, że luka nie obejmuje wszystkich wdrożeń ARM64. Wymaga bowiem włączonej zagnieżdżonej wirtualizacji, która na tej architekturze zwykle nie jest ustawieniem domyślnym. To zawęża powierzchnię ataku, ale nie zmniejsza wagi problemu tam, gdzie taka funkcja została aktywowana.

Analiza techniczna

Źródłem błędu jest logika obsługi nested virtualization w KVM dla ARM64. W określonym scenariuszu przygotowanym przez gościa jedna z kalkulacji rozmiaru może zwrócić wartość zero. W efekcie pomijany jest etap unieważniania wpisów TLB, czyli pamięci podręcznej odpowiedzialnej za translację adresów.

To właśnie ten mechanizm ma kluczowe znaczenie dla bezpieczeństwa. Jeżeli wpisy TLB nie zostaną poprawnie odświeżone, procesor może nadal korzystać ze starego mapowania pamięci, mimo że odpowiadająca mu strona po stronie hosta została już zwolniona. W praktyce oznacza to, że gość zachowuje dostęp do obszaru pamięci, który nie powinien być już osiągalny.

Powstaje w ten sposób sytuacja zbliżona do use-after-free na granicy wirtualizacyjnej. Gość może odczytywać lub nadpisywać pamięć hosta bez wygenerowania oczekiwanej pułapki sprzętowej. Według opisu problemu otwiera to drogę nie tylko do wycieku danych z pamięci jądra, ale również do manipulacji strukturami hosta i potencjalnego wykonania kodu.

Dodatkowym aspektem jest możliwość lokalnej eskalacji uprawnień w środowiskach, w których użytkownik ma dostęp do urządzenia /dev/kvm i może samodzielnie uruchamiać maszyny wirtualne. W takim modelu atakujący nie musi przełamywać zdalnego dostępu do infrastruktury — wystarczy możliwość utworzenia odpowiednio przygotowanego gościa.

Konsekwencje / ryzyko

Najpoważniejszą konsekwencją CVE-2026-89775 jest naruszenie podstawowego modelu bezpieczeństwa wirtualizacji. Jeśli gość może czytać i modyfikować pamięć hosta, izolacja przestaje spełniać swoją funkcję ochronną, a cały host staje się potencjalnie podatny na przejęcie.

  • odczyt wrażliwych danych z pamięci jądra hosta,
  • modyfikacja krytycznych struktur pamięci systemu bazowego,
  • uzyskanie wykonania kodu na poziomie hosta,
  • lokalna eskalacja uprawnień w wybranych konfiguracjach,
  • zagrożenie dla środowisk wielodostępnych i platform uruchamiających nieufne obciążenia.

Ryzyko jest szczególnie wysokie w laboratoriach, środowiskach CI/CD, systemach testowych oraz infrastrukturze współdzielonej, gdzie różni użytkownicy lub najemcy mogą uruchamiać własne maszyny wirtualne. Nawet jeśli podatność nie jest zdalna, jej skutki po skutecznym wykorzystaniu mogą być krytyczne dla poufności, integralności i dostępności hosta.

Rekomendacje

Organizacje korzystające z Linux KVM na ARM64 powinny w pierwszej kolejności ustalić, czy nested virtualization jest aktywna. Sama obecność KVM nie oznacza jeszcze podatności, dlatego priorytetem powinno być dokładne określenie realnej ekspozycji.

  • zidentyfikować hosty ARM64 używające KVM,
  • sprawdzić, czy włączono nested virtualization,
  • zaktualizować jądro do wersji zawierających poprawkę od dystrybutora lub maintainerów,
  • wyłączyć nested virtualization tam, gdzie nie jest niezbędna,
  • ograniczyć dostęp do /dev/kvm wyłącznie do zaufanych użytkowników i usług,
  • przeprowadzić audyt środowisk chmurowych, bare-metal i testowych pod kątem niestandardowych ustawień wirtualizacji,
  • monitorować komunikaty bezpieczeństwa oraz dostępność backportów poprawek.

Warto również wdrożyć mechanizmy detekcyjne ukierunkowane na nietypowe użycie KVM, tworzenie nowych VM przez nieuprzywilejowanych użytkowników oraz oznaki naruszenia integralności hosta. Choć publiczny exploit nie został opisany jako powszechnie dostępny, luki guest-to-host zwykle szybko przyciągają uwagę badaczy i zespołów ofensywnych.

Podsumowanie

CVE-2026-89775 to przykład podatności, w której pozornie niski poziom błędu logicznego w obsłudze pamięci prowadzi do bardzo poważnych konsekwencji bezpieczeństwa. W podatnych konfiguracjach ARM64 z aktywną nested virtualization uprzywilejowany gość może uzyskać odczyt i zapis pamięci hosta, co tworzy warunki do ucieczki z maszyny wirtualnej i potencjalnego przejęcia systemu bazowego.

Dla administratorów i zespołów bezpieczeństwa najważniejsze działania są jasne: zweryfikować konfiguracje ARM64, ustalić status nested virtualization, ograniczyć ekspozycję i wdrożyć poprawki. Zakres podatności może być zawężony, ale jej wpływ na bezpieczeństwo hosta jest na tyle istotny, że powinna zostać potraktowana jako wysoki priorytet operacyjny.

Źródła

  1. New Linux Kernel Flaw Gives ARM64 KVM Guests Read-Write Access to Host Memory — https://thehackernews.com/2026/09/new-linux-kernel-flaw-gives-arm64-kvm.html
  2. CVE-2026-89775 — https://www.cve.org/CVERecord?id=CVE-2026-89775
  3. Red Hat Enterprise Linux – CVE status — https://access.redhat.com/security/cve/CVE-2026-89775
  4. Ubuntu Security Notice / CVE tracking — https://ubuntu.com/security/CVE-2026-89775
  5. Openwall disclosure related to CVE-2026-89775 — https://www.openwall.com/lists/oss-security/