0-day уязвимост в драйвера n_gsm, позволяваща изпълнение на код на ядрото на Linux

В публично пространство са открити два експлойта, които използват преди непозната уязвимост в драйвера n_gsm, част от ядрото на Linux. Уязвимостта позволява на непривилигирован локален потребител да изпълни код на ядрото и да повиши своите привилегии в системата. CVE-идентификатор не е присвоен. Проблемът все още не е разрешен.

Драйверът n_gsm предоставя реализация на протокола GSM 07.10, използван в GSM-модеми за мултиплексиране на връзки към сериен порт. Уязвимостта е причинена от състезателно условие в обработвача ioctl GSMIOC_SETCONF_DLCI, който се използва за обновяване на конфигурацията на DLCI (Идентификатор на връзката за данни). Чрез манипулации с ioctl може да се постигне достъп до памет след освобождаването ѝ (use-after-free).

Експлойтът може да се използва на системи с ядра на Linux, започвайки от 5.15 и завършвайки на 6.5. Например, успешен достъп до root е демонстриран в Fedora, Ubuntu 22.04 с ядро 6.5 и в Debian 12 с ядро 6.1. Започвайки от ядро 6.6, за експлоатация са необходими права за достъп CAP_NET_ADMIN. Като обходен път за блокиране на уязвимостта, може да се забрани автоматичното зареждане на модула на ядрото n_gsm, като се добави ред „blacklist n_gsm“ в файла /etc/modprobe.d/blacklist.conf.

Забележително е, че през януари бе разкрито информация за друга уязвимост (CVE-2023-6546) в драйвера n_gsm, за която също е достъпен публичен експлойт. Тази уязвимост не се пресича с първия проблем, въпреки че също e причинена от достъп до памет след освобождаването ѝ при работа със структурата gsm_dlci, но в обработвача ioctl GSMIOC_SETCONF. Проблемът е коригиран през август миналата година (корекцията е включена в ядрото 6.5).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster