Des informations techniques sont apparues pour une grave vulnérabilité affectant plusieurs versions du noyau Linux qui pourraient être déclenchées avec des « capacités minimales ». Le problème de sécurité est appelé StackRot (CVE-2023-3269) et peut être utilisé pour compromettre le noyau et élever les privilèges.

Un correctif est disponible pour les noyaux stables concernés depuis le 1er juillet et tous les détails sur le problème ainsi qu’un code d’exploitation complet sont attendus d’ici la fin du mois.

Le chercheur en sécurité Ruihan Li a découvert et signalé la vulnérabilité. Il explique dans un article aujourd’hui que cela affecte le sous-système de gestion de la mémoire du noyau, un composant chargé de mettre en œuvre la mémoire virtuelle et la pagination à la demande, l’allocation de mémoire pour les besoins du noyau et les programmes de l’espace utilisateur, ainsi que le mappage des fichiers dans l’adresse des processus. espace.

StackRot a un impact sur toutes les configurations de noyau sur les versions Linux 6.1 à 6.4.

Bien que Li ait envoyé le rapport de vulnérabilité le 15 juin, la création d’un correctif a pris près de deux semaines en raison de sa complexité, et Linus Torvalds a dirigé l’effort.

« Le 28 juin, lors de la fenêtre de fusion du noyau Linux 5.5, le correctif a été fusionné dans l’arborescence de Linus. Linus a fourni un message de fusion complet pour élucider la série de correctifs d’un point de vue technique. Ces correctifs ont ensuite été rétroportés vers des noyaux stables (6.1. 37, 6.3.11 et 6.4.1), résolvant efficacement le bogue « Stack Rot » le 1er juillet », a précisé le chercheur.

Détails de StackRot
StackRot découle de la gestion par le noyau Linux de l’expansion de la pile au sein de son sous-système de gestion de la mémoire, liée à la gestion des zones de mémoire virtuelle (VMA).

Plus précisément, le point faible se trouve dans « l’arbre d’érable », un nouveau système de structure de données pour les VMA introduit dans le noyau Linux 6.1 qui a remplacé les « arbres rouges-noirs » et s’appuyait sur le mécanisme de lecture-copie-mise à jour (RCU).

La vulnérabilité est un problème d’utilisation après libération (UAF) résultant de la façon dont l’expansion de la pile a été gérée, car l’arbre d’érable pourrait remplacer un nœud sans obtenir le verrou en écriture de gestion de la mémoire (MM).

Au fur et à mesure que le noyau Linux étend la pile et supprime l’écart entre les VMA, un nouveau nœud est créé dans « l’arbre d’érable » et l’ancien est marqué pour suppression une fois les lectures en cours terminées en raison de la sécurité RCU de l’arbre d’érable.

Cependant, pendant la période de grâce RCU, un problème d’utilisation après libération peut se produire lorsqu’un processus accède à l’ancien nœud, créant ainsi un contexte exploitable pour élever les privilèges.

Exploit à venir
Ruihan Li note que l’exploitation de StackRot est une tâche difficile et que CVE-2023-3269 pourrait être le premier exemple d’une vulnérabilité théoriquement exploitable d’utilisation après libération par RCU (UAFBR).

Cependant, le chercheur a annoncé son intention de divulguer tous les détails techniques sur StackRot et un exploit de preuve de concept (PoC) d’ici la fin juillet.

Le noyau Linux 6.1 a été approuvé comme version de support à long terme (LTS) depuis février. Cependant, toutes les principales distributions Linux ne l’ont pas adopté.

Par exemple, Ubuntu 22.04.2 LTS (Jammy Jellyfish), dont le support standard se termine en avril 2027, est livré avec la version 5.19 du noyau Linux. D’autre part, Debian 12 (Bookworm) est livré avec le noyau Linux 6.1.

Une liste complète des distributions Linux utilisant la version 6.1 ou supérieure du noyau est disponible sur DistroWatch.

Les utilisateurs doivent vérifier la version du noyau sur laquelle leur distribution Linux s’exécute et en choisir une qui n’est pas affectée par StackRot ou une version mise à jour contenant le correctif.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *