libvirt libxl/libxl_driver.c libxlDomainGetNumaParameters Invalid Free élévation de privilèges
| CVSS Score méta-temporaire | Prix actuel de l'exploit (≈) | Score d'intérêt CTI |
|---|---|---|
| 8.9 | $0-$5k | 0.00 |
Résumé
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étails
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.
Produit
Taper
Nom
Licence
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vecteur: 🔍VulDB Fiabilité: 🔍
CVSSv3
VulDB Score méta-base: 9.9VulDB Score méta-temporaire: 8.9
VulDB Note de base: 9.9
VulDB Note temporaire: 8.9
VulDB Vecteur: 🔍
VulDB Fiabilité: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vecteur | Complexité | Authentification | Confidentialité | Intégrité | Disponibilité |
|---|---|---|---|---|---|
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
VulDB Note de base: 🔍
VulDB Note temporaire: 🔍
VulDB Fiabilité: 🔍
NVD Note de base: 🔍
Exploitation
Nom: Invalid FreeClasse: é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-Day | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
|---|---|---|---|---|
| Aujourd'hui | Déverrouiller | Déverrouiller | Déverrouiller | Dé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 menaces
Intérêt: 🔍Acteurs actifs: 🔍
Groupes APT actifs: 🔍
Contre-mesures
Recommandé: CorrectifStatut: 🔍
Temps de réaction: 🔍
Heure 0 jour: 🔍
Temps d'exposition: 🔍
Correctif: libvirt.org
Chronologie
04/11/2013 🔍20/12/2013 🔍
20/12/2013 🔍
20/12/2013 🔍
20/12/2013 🔍
15/01/2014 🔍
21/01/2014 🔍
24/01/2014 🔍
30/01/2014 🔍
13/06/2014 🔍
08/06/2021 🔍
Sources
Bulletin: avoid crashing if calling `virsh numatune' on inactive domainChercheur: 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ée
Créé: 21/01/2014 09:39Mise à 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.
Aucun commentaire pour l'instant. Langues: fr + it + en.
Veuillez vous connecter pour commenter.