Deux exploits ont été découverts en accès public, impliquant une vulnérabilité jusqu'alors inconnue dans le pilote n_gsm de l ядро Linux. Cette vulnérabilité permet à un utilisateur local non privilégié d'exécuter du code au niveau du noyau et d'élever ses privilèges dans le système. Aucun identifiant CVE n'a été attribué. Le problème reste non résolu.
Le pilote n_gsm fournit une implémentation du protocole GSM 07.10, utilisé dans les modems GSM pour le multiplexage des connexions vers le port série. La vulnérabilité est causée par une condition de concurrence dans le gestionnaire ioctl GSMIOC_SETCONF_DLCI, utilisé pour mettre à jour la configuration du DLCI (Data Link Connection Identifier). Grâce à des manipulations avec ioctl, il est possible d'accéder à la mémoire après sa libération (use-after-free).
L'exploit peut être utilisé sur des systèmes avec des noyaux Linux allant de 5.15 à 6.5. Par exemple, un accès root réussi a été démontré sur Fedora, Ubuntu 22.04 avec noyau 6.5 et Debian 12 avec noyau 6.1. À partir du noyau 6.6, des droits d'accès CAP_NET_ADMIN sont nécessaires pour l'exploitation. Comme solution pour bloquer la vulnérabilité, on peut interdire le chargement automatique du module noyau n_gsm en ajoutant la ligne « blacklist n_gsm » dans le fichier /etc/modprobe.d/blacklist.conf.
Il est remarquable qu'en janvier, des informations ont été révélées sur une autre vulnérabilité (CVE-2023-6546) dans le pilote n_gsm, pour laquelle un exploit est également disponible publiquement. Cette vulnérabilité ne chevauche pas le premier problème, bien qu'elle soit également causée par un accès mémoire après libération lors du traitement de la structure gsm_dlci, mais dans le gestionnaire ioctl GSMIOC_SETCONF. Le problème a été corrigé en août de l'année dernière (la correction a été intégrée dans le noyau 6.5).
Source : opennet.ru
