Des failles vieilles de 15 ans dans le sous-système iSCSI de Linux

Un chercheur en sécurité a découvert de vieilles vulnérabilités dans le subsystem iSCSI de Linux affectant en particulier les distributions CentOS, RHEL et Fedora. Corrigées seulement maintenant, elles peuvent aboutir à de l’escalade de privilèges root et des attaques par déni de service.

Les failles de sécurité touchant visant Linux sont peut être moins répandues que dans le monde Windows mais n’en demeurent pas moins dangereuses. Dernièrement, une vulnérabilité dans le chargeur de démarrage Linux GRUB2 avait été identifiée, d’autres en début d’année dans l’outil Dnsmasq de service de mise en cache DNS, transfert DNS et DHCP. Les mauvaises nouvelles continuent puisque le chercheur en sécurité chez GRIMM Adam Nichols a révélé l’existence de trois failles zero day très préoccupantes affectant l’OS open source. Deux d’entre elles (CVE-2021-27365 et CVE-2021-27363) peuvent aboutir à de l’escalade de privilèges root tandis qu’une dernière (CVE-2021-27364) s’avère taillée pour des attaques par déni de service. 

Les trois failles découvertes ne datent pas d’hier : « Nous avons trouvé trois bogues dans un coin oublié du noyau Linux principal remontant à près de 15 ans », explique Adam Nichols. « Ces bogues se sont avérés être encore bons, et l’un d’entre eux utilisable en tant qu’escalade de privilèges locaux (LPE) dans plusieurs environnements Linux ». Ce n’est pas la première fois que d’anciennes vul sèment la pagaille sur les systèmes Linux. Cela a été le cas en début d’année avec celle concernant l’utilitaire Sudo. Les systèmes Linux affectés sont en particulier CentOS et Red Hat (poste de travail, serveur avec interface graphique et hôte de virtualisation) ainsi que Fedora (stations de travail). Ces trois vulnérabilités ont été trouvées dans le sous-système iSCSI du noyau Linux, une norme de transport de données sur TCP. Le iSCSi sert à créer des réseaux dédiés au stockage sur de l’Ethernet, du SAN bon marché en quelque sorte. Ces failles ne peuvent être exploitées que localement ce qui permet de limiter quelque peu l’exposition, bien réelle toutefois, à un exploit.

Linux

Arbre de décisions à adopter pour faire face aux dernières vulnérabilités relatives au subsystem iSCSI de Linux. (crédit : GRIMM)

Pas de correctif pour les versions de noyaux Linux EOL

Dans le détail la CVE-2021-27365 est de type heap buffer overflow. Localisée à l’emplacement iscsi_host_get_param () dans drivers / scsi / libiscsi.c, elle débouche débouche sur de l’escalade de privilèges, de la fuite d’informations mais aussi du déni de service. La deuxième, CVE-2021-27363 (pointer leak) se situe dans drivers / scsi / scsi_transport_iscsi.c, avec à la clé un risque de fuite d’information. Enfin, la CVE-2021-27364 (out-of-bounds Read) a pour principaux impacts de la fuite d’information mais aussi du déni de service.

« Sur les systèmes CentOS 8, RHEL 8 et Fedora, des utilisateurs non privilégiés peuvent charger automatiquement les modules requis si le package rdma-core est installé », a précisé Adam Nichols. « Sur les systèmes Debian et Ubuntu, le paquet rdma-core ne chargera automatiquement les deux modules de noyau requis que si le matériel RDMA est disponible. En tant que tel, la vulnérabilité est beaucoup plus limitée dans sa portée. Notifiée le 17 février 2021, l’équipe de sécurité de Linux a publié des correctifs au niveau du noyau Linux principal le 7 mars 2021. Attention car aucun patch ne sera publié pour les versions de noyaux non prises en charge EOL (end of life) telles que 3.x et 2.6.23. 

Script de détection et règles Yara pour SIEM

Pour éviter un exploit sur des systèmes non corrigés, VerSprite a développé de son côté un script de détection à utiliser en conjonction avec le PoC d’exploit créé par GRIMM qu’il est fortement conseillé d’utiliser dans un environnement de test et non sur des systèmes de production. La société conseille par ailleurs d’écrire des règles Yara dans son SIEM pour détecter les éléments suivants sur n’importe quel hôte d’environnement Linux : iscsi_connection, iscsi_endpoint, iscsi_host, iscsi_iface, iscsi_session, iscsi_transport, infiniband, infiniband_cm, infiniband_mad, infiniband_srp et infiniband_verbs. A noter que des messages de logs « localhost kernel: fill read buffer: dev attr show+0x0/0x40 returned bad count » n’indiquent pas forcément que ces vulnérabilités ont été exploitées mais qu’un débordement de tampon s’est produit. 

Source