Luka 0-day w sterowniku n_gsm, umożliwiająca wykonanie kodu na poziomie jądra Linux

W publicznej dostępności odkryto dwa exploity, w których wykorzystano wcześniej nieznaną podatność w sterowniku n_gsm, wchodzącym w skład jądra Linux. Podatność pozwala nieuprzywilejowanemu lokalnemu użytkownikowi na wykonanie kodu w trybie jądra oraz na podwyższenie swoich uprawnień w systemie. Identyfikator CVE nie został przypisany. Problem pozostaje na razie nie rozwiązany.

Sterownik n_gsm zapewnia implementację protokołu GSM 07.10, używanego w modemach GSM do mnożenia połączeń na porcie szeregowym. Podatność jest spowodowana stanem wyścigu w menedżerze ioctl GSMIOC_SETCONF_DLCI, który jest używany do aktualizacji konfiguracji DLCI (Data Link Connection Identifier). Dzięki manipulacjom z ioctl można osiągnąć dostęp do pamięci po jej zwolnieniu (use-after-free).

Exploity mogą być używane w systemach z jądrami Linux, zaczynając od 5.15 do 6.5. Na przykład, pomyślne uzyskanie dostępu root zostało udowodnione w Fedora, Ubuntu 22.04 z jądrem 6.5 i w Debianie 12 z jądrem 6.1. Od wersji jądra 6.6 do eksploatacji wymagane są uprawnienia CAP_NET_ADMIN. Jako obejście blakowania podatności można zabronić automatycznego ładowania modułu jądra n_gsm, dodając do pliku /etc/modprobe.d/blacklist.conf linię „blacklist n_gsm”.

Warto zauważyć, że w styczniu ujawniono informacje o innej podatności (CVE-2023-6546) w sterowniku n_gsm, dla której także jest publicznie dostępny exploit. Ta podatność nie pokrywa się z pierwszym problemem, chociaż również jest wywołana dostępem do pamięci po jej zwolnieniu przy pracy ze strukturą gsm_dlci, ale w menedżerze ioctl GSMIOC_SETCONF. Problem został rozwiązany w sierpniu zeszłego roku (łatka została włączona do jądra 6.5).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster