libvirt libxl/libxl_driver.c libxlDomainGetNumaParameters Invalid Free élévation de privilèges

CVSS Score méta-temporairePrix actuel de l'exploit (≈)Score d'intérêt CTI
8.9$0-$5k0.00

Résuméinformation

Il a été détecté une vulnérabilité classée critique dans libvirt. La partie affectée est la fonction libxlDomainGetNumaParameters dans la bibliothèque libxl/libxl_driver.c. L’utilisation aboutit à élévation de privilèges (Invalid Free). Cette faille est connue sous le nom CVE-2013-6457. En outre, un exploit est accessible. Il est recommandé de déployer un patch pour régler cette faille.

Détailsinformation

Une vulnérabilité classée critique a été trouvée dans libvirt (Virtualization Software). Ceci affecte la fonction libxlDomainGetNumaParameters dans la bibliothèque libxl/libxl_driver.c. A cause de la manipulation avec une valeur d'entrée inconnue mène à une vulnérabilité de classe élévation de privilèges.

La vulnerabilité a été publié en 20/12/2013 par Dario Faggioli avec le numéro d'identification avoid crashing if calling `virsh numatune' on inactive domain avec posting (Mailing List) (confirmé). La notice d'information est disponible en téléchargement sur redhat.com Cette vulnérabilité est identifiée comme CVE-2013-6457. Elle est difficilement utilisable. L'attaque peut être initialisée à distance. Une exploitation réussie requiert une seule session d'authentification. Des details techniques et aussi un public exploit sont connus. La raison de cette vulnérabilité est cette partie du code:

# ./daemon/libvirtd -v
 *** Error in `/home/xen/libvirt.git/daemon/.libs/lt-libvirtd': munmap_chunk(): invalid pointer: 0x00007fdd42592666 ***
 ======= Backtrace: =========
 /lib64/libc.so.6(+0x7bbe7)[0x7fdd3f767be7]
 /lib64/libxenlight.so.4.3(libxl_bitmap_dispose+0xd)[0x7fdd2c88c045]
 /home/xen/libvirt.git/daemon/.libs/../../src/.libs/libvirt_driver_libxl.so(+0x12d26)[0x7fdd2caccd26]
 /home/xen/libvirt.git/src/.libs/libvirt.so.0(virDomainGetNumaParameters+0x15c)[0x7fdd4247898c]
 /home/xen/libvirt.git/daemon/.libs/lt-libvirtd(+0x1d9a2)[0x7fdd42ecc9a2]
 /home/xen/libvirt.git/src/.libs/libvirt.so.0(virNetServerProgramDispatch+0x3da)[0x7fdd424e9eaa]
 /home/xen/libvirt.git/src/.libs/libvirt.so.0(+0x1a6f38)[0x7fdd424e3f38]
 /home/xen/libvirt.git/src/.libs/libvirt.so.0(+0xa81e5)[0x7fdd423e51e5]
 /home/xen/libvirt.git/src/.libs/libvirt.so.0(+0xa783e)[0x7fdd423e483e]
 /lib64/libpthread.so.0(+0x7c53)[0x7fdd3febbc53]
 /lib64/libc.so.6(clone+0x6d)[0x7fdd3f7e1dbd]

Il est déclaré comme preuve de concept. Le scanner de vulnérabilités Nessus propose un module ID 75266 (openSUSE Security Update : libvirt (openSUSE-SU-2014:0268-1)), lequel aide à déterminer l'existence d'une faille dans l'environnement-cible.

En appliquant un correctif il est possible d'éliminer le problème. Le correctif est disponible au téléchargement sur libvirt.org. Une solution envisageable a été publiée immédiatement après la publication de la vulnérabilité. La vulnérabilité sera abordée avec les lignes de code suivantes:

diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 29aa6c7..d91744f 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -3958,6 +3958,8 @@ libxlDomainGetNumaParameters(virDomainPtr dom,
* the filtering on behalf of older clients that can't parse it. */
  flags &= ~VIR_TYPED_PARAM_STRING_OKAY;
 
+ libxl_bitmap_init(&nodemap);
+
  if (!(vm = libxlDomObjFromDomain(dom)))
     goto cleanup;
 
@@ -3972,8 +3974,6 @@ libxlDomainGetNumaParameters(virDomainPtr dom,
 
  priv = vm->privateData;
 
- libxl_bitmap_init(&nodemap);
-
  if ((*nparams) == 0) {
     *nparams = LIBXL_NUMA_NPARAM;
     ret = 0;

La vulnérabilité est aussi documentée dans les base de données X-Force (90446), Tenable (75266), SecurityFocus (BID 64963†), OSVDB (102254†) et Secunia (SA56308†). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Produitinformation

Taper

Nom

Licence

CPE 2.3information

CPE 2.2information

CVSSv4information

VulDB Vecteur: 🔍
VulDB Fiabilité: 🔍

CVSSv3information

VulDB Score méta-base: 9.9
VulDB Score méta-temporaire: 8.9

VulDB Note de base: 9.9
VulDB Note temporaire: 8.9
VulDB Vecteur: 🔍
VulDB Fiabilité: 🔍

CVSSv2information

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VecteurComplexitéAuthentificationConfidentialitéIntégritéDisponibilité
DéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouiller
DéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouiller
DéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouiller

VulDB Note de base: 🔍
VulDB Note temporaire: 🔍
VulDB Fiabilité: 🔍

NVD Note de base: 🔍

Exploitationinformation

Nom: Invalid Free
Classe: élévation de privilèges / Invalid Free
CWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍

Physique: Non
Local: Non
Remote: Oui

Disponibilité: 🔍
Accès: Public
Statut: Preuve de concept

EPSS Score: 🔍
EPSS Percentile: 🔍

Prédiction de prix: 🔍
Estimation actuelle des prix: 🔍

0-DayDéverrouillerDéverrouillerDéverrouillerDéverrouiller
Aujourd'huiDéverrouillerDéverrouillerDéverrouillerDéverrouiller

Nessus ID: 75266
Nessus Nom: openSUSE Security Update : libvirt (openSUSE-SU-2014:0268-1)
Nessus Fichier: 🔍
Nessus Risque: 🔍
Nessus Famille: 🔍
Nessus Port: 🔍

OpenVAS ID: 841696
OpenVAS Nom: Ubuntu Update for libvirt USN-2093-1
OpenVAS Fichier: 🔍
OpenVAS Famille: 🔍

Qualys ID: 🔍
Qualys Nom: 🔍

Renseignements sur les menacesinformation

Intérêt: 🔍
Acteurs actifs: 🔍
Groupes APT actifs: 🔍

Contre-mesuresinformation

Recommandé: Correctif
Statut: 🔍

Temps de réaction: 🔍
Heure 0 jour: 🔍
Temps d'exposition: 🔍

Correctif: libvirt.org

Chronologieinformation

04/11/2013 🔍
20/12/2013 +46 jours 🔍
20/12/2013 +0 jours 🔍
20/12/2013 +0 jours 🔍
20/12/2013 +0 jours 🔍
15/01/2014 +26 jours 🔍
21/01/2014 +6 jours 🔍
24/01/2014 +3 jours 🔍
30/01/2014 +6 jours 🔍
13/06/2014 +134 jours 🔍
08/06/2021 +2552 jours 🔍

Sourcesinformation

Bulletin: avoid crashing if calling `virsh numatune' on inactive domain
Chercheur: Dario Faggioli
Statut: Confirmé
Confirmation: 🔍

CVE: CVE-2013-6457 (🔍)
GCVE (CVE): GCVE-0-2013-6457
GCVE (VulDB): GCVE-100-12003

OVAL: 🔍

X-Force: 90446
SecurityFocus: 64963 - libvirt 'libxlDomainGetNumaParameters()' Function Local Denial of Service Vulnerability
Secunia: 56308 - libvirt "libxlDomainGetNumaParameters()" Invalid Free Vulnerability, Less Critical
OSVDB: 102254
Vulnerability Center: 43106 - Libvirt before 1.2.1 Remote DoS or Code Execution Vulnerability by Calling \x27Virsh Numatune\x27 on Inactive Domain, Medium

scip Labs: https://www.scip.ch/en/?labs.20161013
Voir aussi: 🔍

Entréeinformation

Créé: 21/01/2014 09:39
Mise à jour: 08/06/2021 13:57
Changements: 21/01/2014 09:39 (79), 21/08/2017 08:50 (11), 08/06/2021 13:57 (3)
Complet: 🔍
Cache ID: 216::103

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Discussion

Aucun commentaire pour l'instant. Langues: fr + it + en.

Veuillez vous connecter pour commenter.

Do you need the next level of professionalism?

Upgrade your account now!