V javnem dostopu sta bila odkrita dva exploita, ki izkoriščata doslej nepoznano ranljivost v gonilniku n_gsm, ki je del jedra Linux. Ranljivost omogoča neprivilegiranemu lokalnemu uporabniku, da izvede kodo na nivoju jedra in poveča svoje privilegije v sistemu. CVE-identifikator ni dodeljen. Težava še vedno ostaja odprta.
Gonilnik n_gsm zagotavlja implementacijo protokola GSM 07.10, ki se uporablja v GSM modemih za množenje povezav na serijski port. Ranljivost je povzročena s stanjskim dirkalnikom v obdelovalcu ioctl GSMIOC_SETCONF_DLCI, ki se uporablja za posodabljanje konfiguracije DLCI (Identifier za povezavo podatkovne povezave). S manipulacijo z ioctl je mogoče doseči dostop do pomnilnika po njegovi oprostitvi (use-after-free).
Exploita lahko uporabljamo na sistemih z jedri Linux, od 5.15 do 6.5. Na primer, uspešna pridobitev root dostopa je bila prikazana v Fedori, Ubuntu 22.04 z jedrom 6.5 in v Debianu 12 z jedrom 6.1. Od jedra 6.6 naprej so za eksploatacijo potrebna dostopna prava CAP_NET_ADMIN. Kot obvod za blokiranje ranljivosti lahko prepovemo samodejno nalaganje gonilnika n_gsm, tako da dodamo vrstico "blacklist n_gsm" v datoteko /etc/modprobe.d/blacklist.conf.
Zanimivo je, da je bila januarja razkrito drugo ranljivost (CVE-2023-6546) v gonilniku n_gsm, za katerega je prav tako javno dostopen exploit. Ta ranljivost se ne prekrivajo s prvo težavo, čeprav je prav tako povzročena z dostopom do pomnilnika po oprostitvi pri delu s strukturo gsm_dlci, vendar v obdelovalcu ioctl GSMIOC_SETCONF. Težava je bila odpravljena avgusta lani (popravek je bil vključen v jedro 6.5).
Izvor: opennet.ru
