libvirt libxl/libxl_driver.c libxlDomainGetNumaParameters Invalid Free escalada de privilegios

CVSS Puntuación meta temporalPrecio actual del exploit (≈)Puntuación de interés CTI
8.9$0-$5k0.00

Resumeninformación

Se ha identificado una vulnerabilidad clasificada como crítica en libvirt. Está afectada una función desconocida en la librería libxl/libxl_driver.c. El manejo da lugar a escalada de privilegios (Invalid Free). Esta vulnerabilidad se cataloga como CVE-2013-6457. Además, hay un exploit disponible. Se sugiere aplicar un parche para remediar este problema.

Detallesinformación

Una vulnerabilidad fue encontrada en libvirt (Virtualization Software) y clasificada como crítica. La función libxlDomainGetNumaParameters en la biblioteca libxl/libxl_driver.c es afectada por esta vulnerabilidad. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Esto tiene repercusión sobre la confidencialidad, integridad y disponibilidad.

La vulnerabilidad fue publicada el 2013-12-20 por Dario Faggioli con identificación avoid crashing if calling `virsh numatune' on inactive domain con un posting (Mailing List) (confirmado). El advisory puede ser descargado de redhat.com. La vulnerabilidad es identificada como CVE-2013-6457. Se considera difícil de explotar. El ataque se puede efectuar a través de la red. Para explotarla se requiere una autentificación. Los detalles técnicos asi como un exploit público son conocidos. El motivo de esta vulnerabilidad es esta parte del código:

# ./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]

Fue declarado como prueba de concepto. Para el scanner Nessus se dispone de un plugin ID 75266 (openSUSE Security Update : libvirt (openSUSE-SU-2014:0268-1)), que puede ayudar a determinar la existencia del riesgo analizado.

Aplicando un parche es posible eliminar el problema. El parche puede ser descargado de libvirt.org. Una solución posible ha sido publicada inmediatamente después de la publicación de la vulnerabilidad. La vulnerabilidad se tratará con las siguientes líneas de código:

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 vulnerabilidad también está documentado en las bases de datos X-Force (90446), Tenable (75266), SecurityFocus (BID 64963†), OSVDB (102254†) y Secunia (SA56308†). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Productoinformación

Escribe

Nombre

Licencia

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 9.9
VulDB Puntuación meta temporal: 8.9

VulDB Puntuación base: 9.9
VulDB Puntuación temporal: 8.9
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv2información

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplejidadAutenticaciónConfidencialidadIntegridadDisponibilidad
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear

VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 🔍

Explotacióninformación

Nombre: Invalid Free
Clase: Escalada de privilegios / Invalid Free
CWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍

Físico: No
Local: No
Remoto: Sí

Disponibilidad: 🔍
Acceso: Público
Estado: Prueba de concepto

EPSS Score: 🔍
EPSS Percentile: 🔍

Predicción de precios: 🔍
Estimación del precio actual: 🔍

0-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Nessus ID: 75266
Nessus Nombre: openSUSE Security Update : libvirt (openSUSE-SU-2014:0268-1)
Nessus Archivo: 🔍
Nessus Riesgo: 🔍
Nessus Familia: 🔍
Nessus Port: 🔍

OpenVAS ID: 841696
OpenVAS Nombre: Ubuntu Update for libvirt USN-2093-1
OpenVAS Archivo: 🔍
OpenVAS Familia: 🔍

Qualys ID: 🔍
Qualys Nombre: 🔍

Inteligencia de amenazasinformación

Interés: 🔍
Actores activos: 🔍
Grupos APT activos: 🔍

Contramedidasinformación

Recomendación: Parche
Estado: 🔍

Tiempo de reacción: 🔍
Hora de 0 días: 🔍
Tiempo de exposición: 🔍

Parche: libvirt.org

Línea de tiempoinformación

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

Fuentesinformación

Aviso: avoid crashing if calling `virsh numatune' on inactive domain
Investigador: Dario Faggioli
Estado: Confirmado
Confirmación: 🔍

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
Véase también: 🔍

Artículoinformación

Fecha de creación: 2014-01-21 09:39
Actualizado: 2021-06-08 13:57
Cambios: 2014-01-21 09:39 (79), 2017-08-21 08:50 (11), 2021-06-08 13:57 (3)
Completo: 🔍
Cache ID: 216::103

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

Discusión

Sin comentarios aún. Idiomas: es + pt + en.

Por favor, inicie sesión para comentar.

Do you know our Splunk app?

Download it now for free!