Er zijn twee exploits ontdekt in het openbaar, die gebruikmaken van een eerder onbekende kwetsbaarheid in de n_gsm-driver die deel uitmaakt van de Linux-kernel. De kwetsbaarheid stelt een niet-privilegeerde lokale gebruiker in staat om kernelcode uit te voeren en zijn privileges in het systeem te verhogen. Er is geen CVE-identificator toegewezen. Het probleem is momenteel nog niet opgelost.
De n_gsm-driver biedt een implementatie van het GSM 07.10-protocol, dat wordt gebruikt in GSM-modems voor het multiplexen van verbindingen naar de seriƫle poort. De kwetsbaarheid wordt veroorzaakt door een raceconditie in de ioctl-handler GSMIOC_SETCONF_DLCI, die wordt gebruikt om de configuratie van de DLCI (Data Link Connection Identifier) bij te werken. Door manipulatie van ioctl is het mogelijk om toegang te krijgen tot geheugen na het vrijgeven ervan (use-after-free).
De exploit kan worden gebruikt op systemen met Linux-kernels van 5.15 tot 6.5. Bijvoorbeeld, succesvolle root-toegang is gedemonstreerd in Fedora, Ubuntu 22.04 met kernel 6.5 en in Debian 12 met kernel 6.1. Vanaf kernel 6.6 zijn CAP_NET_ADMIN-rechten vereist voor exploitatie. Als een tijdelijke oplossing om de kwetsbaarheid te blokkeren, kan de automatische laadt in van de n_gsm-kernelmodule worden voorkomen door de regel "blacklist n_gsm" toe te voegen aan het bestand /etc/modprobe.d/blacklist.conf.
Opmerkelijk is dat in januari informatie werd vrijgegeven over een andere kwetsbaarheid (CVE-2023-6546) in de n_gsm-driver, waarvoor ook een publiek exploit beschikbaar is. Deze kwetsbaarheid overlapt niet met het eerste probleem, hoewel het ook werd veroorzaakt door toegang tot het geheugen na vrijgave bij het omgaan met de gsm_dlci-structuur, maar in de ioctl-handler GSMIOC_SETCONF. Het probleem is in augustus vorig jaar opgelost (de oplossing is opgenomen in kernel 6.5).
Bron: opennet.ru
