Două exploatările au fost descoperite în accesul public, implicând o vulnerabilitate anterior necunoscută în driverul n_gsm, parte a nucleului Linux. Vulnerabilitatea permite unui utilizator local fără privilegii să execute cod la nivel de nucleu și să își crească privilegiile în sistem. Identificatorul CVE nu a fost atribuit. Problema rămâne nerezolvată deocamdată.
Driverul n_gsm oferă o implementare a protocalului GSM 07.10, utilizat în modemurile GSM pentru multiplexarea conexiunilor către portul serial. Vulnerabilitatea este cauzată de o condiție de competiție în handlerul ioctl GSMIOC_SETCONF_DLCI, folosit pentru a actualiza configurația DLCI (Identificatorul Conexiunii Legăturii de Date). Prin manipularea ioctl, se poate provoca accesul la memorie după eliberare (use-after-free).
Exploatul poate fi utilizat pe sisteme cu nuclee Linux, începând cu versiunile 5.15 și până la 6.5. De exemplu, obținerea accesului root a fost demonstrată cu succes în Fedora, Ubuntu 22.04 cu nucleul 6.5 și în Debian 12 cu nucleul 6.1. Începând cu nucleul 6.6, sunt necesare permisiuni CAP_NET_ADMIN pentru exploatare. Ca o soluție de ocolire pentru a bloca vulnerabilitatea, se poate interzice încărcarea automată a modulului nucleului n_gsm, adăugând în fișierul /etc/modprobe.d/blacklist.conf linia „blacklist n_gsm”.
Este notabil că în luna ianuarie a fost dezvăluită informația despre o altă vulnerabilitate (CVE-2023-6546) în driverul n_gsm, pentru care este disponibil public un exploat. Această vulnerabilitate nu se suprapune cu prima problemă, deși este, de asemenea, cauzată de accesarea memoriei după eliberare în timpul lucrului cu structura gsm_dlci, dar în handlerul ioctl GSMIOC_SETCONF. Problema a fost rezolvată în august anul trecut (corectarea a fost inclusă în nucleul 6.5).
Sursa: opennet.ro
