CVE-2026-102916
ŚrednieCVSS 6.8Streszczenie
Osiągalna asercja w emulatorze instrukcji bhyve w illumos pozwala gościowi na wywołanie paniki hosta. Podczas emulacji instrukcji MOVS lub STOS z prefiksem REP, która uzyskuje dostęp do MMIO gościa, vie_emulate_movs() i vie_emulate_stos() w usr/src/uts/intel/io/vmm/vmm_instruction_emul.c nie czyszczą flagi statusu VIES_REPEAT w ostatniej iteracji. Dla regionów MMIO emulowanych w jądrze (lokalny APIC, I/O APIC i HPET), nieaktualna flaga powoduje niepowodzenie asercji VERIFY w vie_advance_pc(), a host panikuje. Uprzywilejowany użytkownik w maszynie wirtualnej może wydać instrukcję REP MOVS lub REP STOS przeciwko stronie lokalnego APIC, aby spowodować odmowę usługi hosta i każdego innego gościa na nim działającego. Błąd istnieje od 2020 roku (commit e0c0d44e w illumos-gate) i dotyczy każdej dystrybucji illumos przed commit 696ecf8d.
Ocena ryzyka
Uprzywilejowany użytkownik w maszynie wirtualnej może spowodować panikę hosta, co prowadzi do odmowy usługi dla wszystkich gości. Jest to poważne ryzyko w środowiskach wirtualizacyjnych.
Rekomendacja
Zastosuj poprawkę z illumos-gate commit 696ecf8d lub nowszy. Ogranicz uprawnienia użytkowników w maszynach wirtualnych.
Inne podatności w illumos
Zobacz wszystkie- CVE-2026-104117Niskie
W demonie zarządzania IP (ipmgmtd) w systemie illumos brakuje sprawdzenia autoryzacji, co pozwala lokalnemu użytkownikowi na zmianę trwałej konfiguracji IPMP. Polecenie IPMGMT_CMD_IPMP_UPDATE nie wymaga autoryzacji solaris.network.interface.config, a jego obsługa zapisuje do trwałej konfiguracji ipadm, gdy ustawiona jest flaga IPMGMT_PERSIST. Nieuprzywilejowany użytkownik może dodawać lub usuwać interfejsy z istniejących grup IPMP w zapisanej konfiguracji, co może zakłócić łączność sieciową po ponownym zastosowaniu konfiguracji.
- CVE-2026-104116Niskie
W demonie statystyk stref (zonestatd) w systemie illumos brakuje sprawdzenia autoryzacji, co pozwala lokalnemu użytkownikowi w dowolnej strefie na zakłócanie działania zonestat w innych strefach i określanie, które strefy są uruchomione. Procedura zsd_server() obsługuje polecenie ZSD_CMD_NEW_ZONE bez sprawdzania poświadczeń wywołującego, co pozwala nieuprzywilejowanemu użytkownikowi na wysłanie tego polecenia z dowolnym identyfikatorem strefy, powodując ponowne utworzenie pliku drzwi w tej strefie i potencjalne błędy w nowych żądaniach zonestat. Czas obsługi polecenia ujawnia również, czy dana strefa jest uruchomiona.
- CVE-2026-104115Średnie
Przepełnienie bufora na stosie w demonie punktu ponownego analizowania (reparsed) w illumos pozwala lokalnemu użytkownikowi na awarię demona. Funkcja get_fs_locations() w usr/src/cmd/fs.d/nfs/rp_basic/libnfs_basic.c, część pluginu nfs-basic, kopiuje składniki hosta i ścieżki ciągu reparse do stałego 1024-bajtowego bufora na stosie bez sprawdzania ich długości. Drzwi reparsed w /var/run/reparsed_door są czytelne dla wszystkich użytkowników, a serwer drzwi nie sprawdza poświadczeń wywołującego, więc nieuprzywilejowany lokalny użytkownik może wysłać żądanie nfs-basic z zbyt długim składnikiem hosta lub ścieżki, aby przepełnić bufor. Na systemach z włączoną ochroną stosu, co jest domyślne, powoduje to przerwanie działania reparsed; powtarzane żądania umieszczają usługę svc:/system/filesystem/reparse w stanie konserwacji. Usługa jest domyślnie wyłączona. Błąd istnieje od 2009 roku (commit 2f172c55 w illumos-gate) i dotyczy każdej dystrybucji illumos przed commit 6a2df4aa.
- CVE-2026-104114Średnie
Odwołanie do wskaźnika NULL w demonie Network Auto-Magic (nwamd) w illumos pozwala lokalnemu użytkownikowi na awarię demona. Funkcja nwamd_door_switch() w usr/src/cmd/cmd-inet/lib/nwamd/door_if.c zapisuje do struktury żądania wywołującego przed sprawdzeniem, czy żądanie zostało dostarczone, oraz przed sprawdzeniem poświadczeń wywołującego. Ponieważ drzwi nwamd w /etc/svc/volatile/nwam/nwam_door są dostępne dla wszystkich lokalnych użytkowników, nieuprzywilejowany użytkownik może wywołać door_call() bez danych argumentów, aby spowodować awarię nwamd; powtarzane wywołania umieszczają usługę svc:/network/physical:nwam w stanie konserwacji, zatrzymując automatyczną konfigurację sieci. nwamd działa tylko wtedy, gdy svc:/network/physical:nwam jest włączone, co nie jest domyślne. Błąd istnieje od 2010 roku (commit 6ba597c5 w illumos-gate) i dotyczy każdej dystrybucji illumos przed commit 0f1064d9.
- CVE-2026-104112Średnie
Brak zwalniania zasobów w demonie pamięci podręcznej usług nazw (nscd) w illumos pozwala lokalnemu użytkownikowi na wyczerpanie pamięci jądra. Procedura serwera drzwi nscd, switcher() w usr/src/cmd/nscd/nscd_frontend.c, nie zamyka deskryptorów plików, które są przekazywane z wywołaniem drzwi, ale nie są używane przez żądanie, a główne drzwi nscd w /var/run/name_service_door akceptują przekazane deskryptory od każdego użytkownika w swojej strefie. Ponieważ nscd działa również z nieograniczonym limitem deskryptorów plików, nieuprzywilejowany lokalny użytkownik, w tym w strefie nieglobalnej, może wielokrotnie przekazywać deskryptor do nscd w swojej strefie w pętli door_call(), powodując nieograniczony wzrost tabeli deskryptorów plików nscd w pamięci jądra. Powoduje to odmowę usługi nscd i może sprawić, że procesy we wszystkich strefach na hoście będą nieodpowiedzialne. Błąd istnieje od 2006 roku (commit cb5caa98 w illumos-gate) i dotyczy każdej dystrybucji illumos przed commit af810a72.
- CVE-2026-15422Krytyczne
W ścieżce przychodzącej SCTP w systemie illumos występuje podatność polegająca na niewystarczającej walidacji parametrów adresowych w pakietach INIT ACK. Atakujący może wysłać spreparowany pakiet SCTP INIT ACK, powodując odczyt poza zakresem i uszkodzenie sterty jądra, co może prowadzić do zdalnego wykonania kodu.
- CVE-2026-15449Średnie
W sterowniku pseudo-sieciowym dld systemu illumos wykryto podatność TOCTOU (time-of-check to time-of-use) w obsłudze ioctl DLDIOC_GETMACPROP i DLDIOC_SETMACPROP. Funkcja drv_ioc_prop_common() dwukrotnie kopiuje dane z przestrzeni użytkownika, a złośliwy wątek może zmienić rozmiar między tymi kopiami, powodując przepełnienie bufora jądra. Lokalny, nieuprzywilejowany użytkownik może doprowadzić do paniki systemu lub potencjalnie do dalszej kompromitacji.
Oryginalny opis (angielski, źródło NVD)
A reachable assertion in the illumos bhyve instruction emulator allows a guest to panic the host. When emulating a REP-prefixed MOVS or STOS instruction that accesses guest MMIO, vie_emulate_movs() and vie_emulate_stos() in usr/src/uts/intel/io/vmm/vmm_instruction_emul.c do not clear the VIES_REPEAT status flag on the final iteration. For MMIO regions emulated in the kernel (the local APIC, I/O APIC and HPET), the stale flag causes a VERIFY assertion in vie_advance_pc() to fail, and the host panics. A privileged user within a guest VM can issue a REP MOVS or REP STOS instruction against the local APIC page to cause a denial of service of the host and every other guest running on it. The flaw has existed since 2020 (illumos-gate commit e0c0d44e), and affects any illumos distribution prior to illumos-gate commit 696ecf8d.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

