libvirt libxl/libxl_driver.c libxlDomainGetNumaParameters Invalid Free erweiterte Rechte

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
8.9$0-$5k0.00

Zusammenfassunginfo

Eine Schwachstelle wurde in libvirt gefunden. Sie wurde als kritisch eingestuft. Es ist betroffen die Funktion libxlDomainGetNumaParameters in der Bibliothek libxl/libxl_driver.c. Mittels Manipulieren mit unbekannten Daten kann eine erweiterte Rechte-Schwachstelle (Invalid Free) ausgenutzt werden. Eine eindeutige Identifikation der Schwachstelle wird mit CVE-2013-6457 vorgenommen. Zusätzlich gibt es einen verfügbaren Exploit. Es ist ratsam, einen Patch zu implementieren, um dieses Problem zu beheben.

Detailsinfo

Es wurde eine Schwachstelle in libvirt - die betroffene Version ist nicht klar definiert - (Virtualization Software) ausgemacht. Sie wurde als kritisch eingestuft. Dabei betrifft es die Funktion libxlDomainGetNumaParameters der Bibliothek libxl/libxl_driver.c. Mit der Manipulation mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle (Invalid Free) ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-264 vorgenommen. Die Auswirkungen sind bekannt für Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

The libxlDomainGetNumaParameters function in the libxl driver (libxl/libxl_driver.c) in libvirt before 1.2.1 does not properly initialize the nodemap, which allows local users to cause a denial of service (invalid free operation and crash) or possibly execute arbitrary code via an inactive domain to the virsh numatune command.

Die Schwachstelle wurde am 20.12.2013 durch Dario Faggioli als avoid crashing if calling `virsh numatune' on inactive domain in Form eines bestätigten Postings (Mailing List) publiziert. Das Advisory findet sich auf redhat.com. Die Identifikation der Schwachstelle wird seit dem 04.11.2013 mit CVE-2013-6457 vorgenommen. Sie ist schwierig auszunutzen. Der Angriff kann über das Netzwerk erfolgen. Das Ausnutzen erfordert eine einfache Authentisierung. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Diese Schwachstelle wird durch das MITRE ATT&CK als Angriffstechnik T1068 bezeichnet. Folgender Code zeichnet sich für das Problem veantwortlich:

# ./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]
Das Advisory weist darauf hin:
libxl: avoid crashing if calling `virsh numatune' on inactive domain by, in libxlDomainGetNumaParameters(), calling libxl_bitmap_init() as soon as possible, which avoids getting to 'cleanup:', where libxl_bitmap_dispose() happens, without having initialized the nodemap, and hence crashing after some invalid free()-s:

Er wird als proof-of-concept gehandelt. Für den Vulnerability Scanner Nessus wurde am 13.06.2014 ein Plugin mit der ID 75266 (openSUSE Security Update : libvirt (openSUSE-SU-2014:0268-1)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann. Es wird der Family SuSE Local Security Checks zugeordnet. Der kommerzielle Vulnerability Scanner Qualys bietet das Plugin 195783 (Ubuntu Security Notification for Libvirt Vulnerabilities (USN-2093-1)) zur Prüfung der Schwachstelle an.

Die Schwachstelle lässt sich durch das Einspielen eines Patches lösen. Dieser kann von libvirt.org bezogen werden. Das Erscheinen einer Gegenmassnahme geschah sofort nach der Veröffentlichung der Schwachstelle. Die Entwickler haben nachweislich unmittelbar gehandelt. Die Schwachstelle wird durch folgenden Code angegangen:

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;

Unter anderem wird der Fehler auch in den Datenbanken von X-Force (90446), Tenable (75266), SecurityFocus (BID 64963†), OSVDB (102254†) und Secunia (SA56308†) dokumentiert. Die Schwachstellen VDB-11780, VDB-11995, VDB-11999 und VDB-13182 sind ähnlich. Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Produktinfo

Typ

Name

Lizenz

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 9.9
VulDB Meta Temp Score: 8.9

VulDB Base Score: 9.9
VulDB Temp Score: 8.9
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 🔍

Exploitinginfo

Name: Invalid Free
Klasse: Erweiterte Rechte / Invalid Free
CWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Proof-of-Concept

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 75266
Nessus Name: openSUSE Security Update : libvirt (openSUSE-SU-2014:0268-1)
Nessus Datei: 🔍
Nessus Risiko: 🔍
Nessus Family: 🔍
Nessus Port: 🔍

OpenVAS ID: 841696
OpenVAS Name: Ubuntu Update for libvirt USN-2093-1
OpenVAS Datei: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Patch
Status: 🔍

Reaktionszeit: 🔍
0-Day Time: 🔍
Exposure Time: 🔍

Patch: libvirt.org

Timelineinfo

04.11.2013 🔍
20.12.2013 +46 Tage 🔍
20.12.2013 +0 Tage 🔍
20.12.2013 +0 Tage 🔍
20.12.2013 +0 Tage 🔍
15.01.2014 +26 Tage 🔍
21.01.2014 +6 Tage 🔍
24.01.2014 +3 Tage 🔍
30.01.2014 +6 Tage 🔍
13.06.2014 +134 Tage 🔍
08.06.2021 +2552 Tage 🔍

Quelleninfo

Advisory: avoid crashing if calling `virsh numatune' on inactive domain
Person: Dario Faggioli
Status: Bestätigt
Bestätigung: 🔍

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/?labs.20161013
Siehe auch: 🔍

Eintraginfo

Erstellt: 21.01.2014 09:39
Aktualisierung: 08.06.2021 13:57
Anpassungen: 21.01.2014 09:39 (79), 21.08.2017 08:50 (11), 08.06.2021 13:57 (3)
Komplett: 🔍
Cache ID: 216::103

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

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Might our Artificial Intelligence support you?

Check our Alexa App!