Une vulnérabilité critique d’élévation de privilèges identifiée dans l’hyperviseur libre KVM du noyau Linux

KVM (Kernel-based Virtual Machine) est un hyperviseur libre intégré dans le noyau linux depuis la version 2.6.20.

Cet hyperviseur serait vulnérable à une élévation de privilège liée à une mauvaise gestion de la Table Globale de Descripteurs1 (GDT : Global Descriptor Table en anglais)

En effet, KVM dans ces versions vulnérables (cf. sections ci-dessous) prédéfinirait le paramètre GDT.LIMIT à 64KB au lieu de le restaurer à la valeur de l’hôte.

L'utilisation de cette limite pourrait permettre à un attaquant de corrompre la table GDT en insérant, à travers des services présents dans le userspace, du code dans des espaces mémoires normalement réservés au noyau Linux. Cela permettrait potentiellement de modifier les variables per-cpu  et ainsi élever ses privilèges localement.

  

1 La Table globale de descripteurs est une structure de données utilisée par les processeurs de la famille x86 pour référencer les descripteurs de segment les plus utilisés par les processus.

Informations
+

Risque

  • Élévation de privilèges

Criticité

  • CVSS v3 : 9.8

Existence d’un code d’exploitation de la vulnérabilité

  • Non, aucun code permettant l’exploitation de la vulnérabilité n’est connu publiquement à ce jour.

Composants & versions vulnérables

  • Voir la liste des noyaux vulnérables ici

CVE

  • CVE-2018-10901

Recommandations
+

Correctifs

  • Des correctifs ont été publiés.

Solution de contournement

  • Il n’existe pas actuellement de solution de contournement.