Vulnérabilités dans l’hyperviseur Xen

Date de publication :

Deux vulnérabilités critiques ont été corrigées dans l'hyperviseur Xen, leur exploitation peut permettre de provoquer un déni de service sur la dispositif hôte.

CVE-2020-29566[Score CVSS v3 : 5.5] : Lorsque les invités de type HVM x86 ont besoin de l'aide du dispositif hôte, ils sont temporairement déprogrammés.  Le dispositif hôte notifie Xen lorsqu'il a fini la tâche d’aide afin que l'unité centrale virtuelle concernée soit reprogrammée. Dans la cas où le dispositif hôte notifie Xen sans avoir réellement terminé l'opération, le cycle de déprogrammation / reprogrammation pourrait potentiellement se répéter à l’infini. 
Dans certains cas, les signalements Xen peuvent se succéder très rapidement. La reprogrammation peut alors avoir lieu avant que la déprogrammation ne soit complètement terminée, déclenchant un raccourci.  Ce processus répétitif utilise des appels de fonctions récursives. Un attaquant distant et authentifié peut alors être en mesure d’entraîner un débordement de pile et de perpétrer un déni de service sur le dispositif hôte.

CVE-2020-29567[Score CVSS v3 : 6.2] : Lors de la répartition des charges de traitements des requêtes d’interruption (IRQ) entre les CPUs, les vecteurs d'IRQ sont alloués et retirés dynamiquement des CPUs concernées. La désaffectation de ces vecteurs ne se fait que lorsque certaines conditions sont respectées.
Si ces conditions ne sont pas remplies lors de la première vérification, le CPU peut s’interrompre de lui-même, en espérant que la condition empêchant le vidage soit remplie après que l’IRQ ait été appliquée.  Pour deux vecteurs IRQ spécifiques, cette attente n’arrive jamais à terme, ce qui entraîne un flux continu d'auto-interruptions, ce qui rend la CPU effectivement inutilisable. 

Lorsque le dispositif hôte utilise une interface PCI physique avec un système d'exploitation 32bits, un attaquant ayant accès au réseau local et authentifié peut potentiellement causer le blocage d’un des CPU et donc perpétrer un déni de service. 

Les architectures ARM ne sont pas impactées par cette vulnérabilité.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Déni de service

Criticité

  • Score CVSS v3 : 5.5 ; 6.2

Existence d’un code d’exploitation

  • Il n’existe pas de code d’exploitation connu publiquement à l’heure actuelle.

Composants vulnérables

CVE

Solutions ou recommandations

Mise en place de correctifs de sécurité

Appliquer les correctifs de sécurité suivants :

  • xsa356.patch pour Xen 4.14.x

Et, selon la version de Xen utilisée :

  • xsa348-?.patch pour Xen 4.14.x

  • xsa348-4.13-?.patch pour Xen 4.13.x

  • xsa348-4.12.patch pour Xen 4.12.x

  • xsa348-4.11.patch pour Xen 4.11.x

  • xsa348-4.10.patch pour Xen 4.10.x

Solution de contournement

  • Pour la CVE-2020-29566, restreindre les machines virtuelles invitées aux types PV et PVH permet de contourner la vulnérabilité.

  • Aucune solution de contournement n’est proposée publiquement pour la CVE-2020-29567.